updating attributes of another model

I hve a relationship like this in my model: Student has_one :student_fail

StudentFail belongs_to :student_fail_state belongs_to :student

StudentFailState has_many :students, :through => :student_fail has_many :student_fails

In terms of the controller, what would be the best way to update attributes to the student_fails table?

Here's the view stuff:

resources_form_helper.rb: def render_form_collection_field(form, name, label = nil, size = nil) render_form_field(form, name, label) do   params = yield   form.collection_select name, params[:collection], params[:value_method],params[:text_method], {}, {:size => size} end end

def render_form_field(form, name, label=nil) label ||= name.to_s.gsub(/_id$/, '').gsub('_', ' ') label_class = "error" if error_fields.include?(name.to_sym) <<END_HTML <li>   #{form.label name, label, :class => label_class}   <div>#{yield}</div> </li> END_HTML end view: [ render_form_collection_field(f, :student_fail_state_id, 'level') { { :collection => StudentFailState.true, :value_method => :id, :text_method => :name} } ] #:student_fail_state_id doesn't currently working because it's not in the student table.

Any suggestions on how to update other tables from a dropdown menu? Thanks.

http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes