Notes posted by arronwashington
RSS feed
Careful with this method.
Despite the name and description, it will actually update any changed fields on the model rather than just the desired attribute.
def update_attribute(name, value) send(name.to_s + '=', value) save(false) end
See? Use update_all and pass in the model ID as a condition, instead.

RE: 1 render definition for many actions (cleaner)
Hi James,
Unfortunately that doesn’t work if you use the
@zombies
variable in the rendered template, which is why default_render was added as a patch AFAIK. :)
before_filter is called too soon, after_filter is called after an attempt at rendering is made, so default_render is the only option for this as far as I know.

1 render definition for many actions.
Overriding default_render in especially useful when you have many actions that all render the same thing.
before_filter :render_filter, :only => [:zombies, :cool_zombies] def zombies @zombies = Zombie.find(:all) end def cool_zombies @zombies = Zombie.find(:all, :conditions => { :eats_humans => false, :is_hippie => true }) end protected def render_filter instance_eval do def default_render render :template => 'zombies/all' end end end
