Hey all,
I tried following this railscasts:
But there is one significant difference from what that does and what I am trying to do. That builds a relationship to one object. In my form, i have a list of objects and want to build relationship for each item in list.
class Rule < ActiveRecord::Base has_many :notification_emails, :dependent => :destroy accepts_nested_attributes_for :notification_emails, :reject_if => lambda { |notification| notification[:email].blank? } end
class NotificationEmail < ActiveRecord::Base belongs_to :rule end
#home_controller
def rules_config ... @rules = rules.flatten @rules.each { |a| a.notification_emails.build }
render :partial => 'home/rules_config', :layout => false end
#home/rules_config.html.haml
#config .form_content = form_for "rule", '/home/save_rules/' + @unit.id.to_s, :remote => true, :class => 'ajaxCall' do |f| %table.scrollTable{:cellspacing => "0", :width => "740px", :style => "border-collapse: collapse; border-spacing: 0;"} %thead.fixedHeader %tr %th Rules %th Enable %th Email %th Notification Emails %tbody.scrollContent - for rule in @rules %tr %td= rule.rule_code.name %td= check_box_tag "enabled_ids", rule.id %td= f.text_field :email, :value => rule.email, :index => rule.id %td - f.fields_for :notification_emails do |notification| = notification.text_area :email, :rows => 1
Basically I have a list of rules that a user can edit and then update in this form. But each rule can have many notification emails and since I built an association in controller, I expect this cell to contain a text area field that links the relatonship. But the text area field never displays.
thanks for response