Update 07/11/2008: A fix has been committed for the :named_scope_-column-collision issue.
Interesting Things
- In Rails 2.0.2, we have seen a strange behavior when you have a
belongs_to association declared on an ActiveRecord class, but the table does not have a foreign key for that relationship. Within a session, everything appears normal. The child object will still be saved, the parent object can even be reloaded. But by the next session, the child object is in the database, but cannot be retrieved. - When using
named_scope, adding a :joins option will “mix-in” all of the attributes from that join table into your retrieved object, potentially overwriting any colliding attributes (including id … ouch!). There was consensus that this was a valuable feature, when used “properly”. Adding :select option can avoid this, or use :include. - We ran into an issue when using the JS Routes plugin in combination with Rails’ asset packaging. When asset packaging is invoked using
<%= javascript_include_tag 'named_routes', 'xxx', :cache => true %> the named_routes.js file usually has not been generated, and application crashes at startup. Solution: we created a rake task to generate the named_routes.js file and run that as part of our deploy process.
Ask for Help
“Why did my JS respond_to block suddenly start rendering the HTML template instead of the RJS template?”
Rails 2.0.2; controller, action, respond_to block all work as expected. Just wrong file gets rendered. They fixed the problem by adding an explicit call to render but this should not be necessary. Suggestion is to move from the template.rhtml naming scheme to template.mime-type.render-engine scheme and see if it is fixed.