Inevitably, today on my Windows XP notebook, the automatic update finally told me that it wanted to install IE7. Since I still need IE6 to test with and have IE7 working quite nicely on my MacBookPro in Parallels, I’m not going there.
http://highscalability.com has loads of useful information for creating very highly scalable sites. Includes a look behind the scenes of both Google and YouTube.
Over on Err The Blog is an article on placing your gems into the vendor directory rather than relying on them being in the environment.
I’ve run into the issue before where a Rails app doesn’t run on a server due to a gem not being installed. Adding them to your application seems like a perfect solution and deals with other computers possibly having various versions of gems installed.
My expectation was that when I create a hash it’s going to act like a queue and be sorted in the order in which I inserted things. As I found out today, that is definitely not the case.
There is a very easy way that Rails offers to give a hash this behavior and it’s the OrderedHash function found in the ActiveSupport libraries.
my_hash = ActiveSupport::OrderedHash.new
After that initialization, your hash will be maintained in the order you insert things. Something to watch out for.
I recently upgraded a few projects to Rails v.1.2 and had a couple of issues arise.
Disappearing objects when dropped using drag and drop in Safari
For one project I use the drag and drop re-ordering provided by the Scriptaculous library. Not sure what did it, possibly even a Safari update, but only in Safari, once you let go of a dragged object, that object would disappear. It would come back when you refreshed the page and would have successfully triggered its intended action.
Model attributes not in the database were inaccessible
I wasn’t able to figure this one out, but was able to get around it. I have a model which has some methods to send/receive messages to a device. I had a
which is an attribute that’s not in the database. It was simple a place to temporarily store the full message of the last response for use later on in the code. After the upgrade to v1.2.1 things were fine. However after updating to v.1.2.2, I started getting “Method not defined” errors. It seems like other people have hit this one, too.
My solution was simply to remove the property and change it to @last_response which worked for my limited use of it.
I’m still scratching my head though, since similar attributes work fine in other classes. The problem class, however, is unique in that instead of having ActiveRecord:Base as its parent, the actual parent is a generic class whose parent is ActiveRecord:Base.