Rails 3嵌套模型未知属性错误

rgo*_*aya 5 ruby-on-rails nested-forms railscasts ruby-on-rails-3

但是,我遇到错误"未知属性:关系"

我在这里做错了吗?我确实看到关系属性在日志中传递给服务器,但是这个错误不会让创建成功.

我对rails的专业知识是初学者的水平,如果我问一个可能被视为微不足道的问题,请原谅我.

谢谢您的帮助.

编辑:相关的控制器代码:

    @relationship = @issue.relationships.build
    #@relationship = Relationship.new(params[:relationship])
    if @relationship.issue_id = ''
      @relationship.issue_id = @issueid
    end

    if @relationship.cause_id = ''
      @relationship.cause_id = @issueid
    end

    @relationship.save
    redirect_to(:back, :notice => 'New Relationship was created') 
Run Code Online (Sandbox Code Playgroud)

我在跟踪上看到的内容:

    ActiveRecord::UnknownAttributeError in IssuesController#create
    unknown attribute: relationship
Run Code Online (Sandbox Code Playgroud)

在Issue参数中,我看到关系参数按预期传递:

    "relationship"=>{"issue_id"=>"100",
    "cause_id"=>""}
Run Code Online (Sandbox Code Playgroud)

另一个更新 发布form_for代码:

    - form_for Issue.new do |f|

      .field  
        = f.text_field :description, :class=>"formfield", :id=>"frm_descr"

      .field  
        = f.hidden_field :wiki_url, :class=>"formfield", :id=>"frm_wiki_url"

      .field
        = f.hidden_field :short_url, :class=>"formfield", :id=>"frm_img_url"

      .field
        = f.hidden_field :title, :class=>"formfield", :id=>"frm_title"         

      = f.fields_for :relationship do |builder|
        = builder.text_field :issue_id, :class=>"form_field", :id=>"frm_rel_issue_id", :value=>@issue.id 
        = builder.text_field :cause_id, :class=>"form_field", :id=>"frm_rel_cause_id"

      .actions
        = f.submit 'Create', :class=>"save_button", :name=>"save_issue_rel_button", :id=>"val_collector"
Run Code Online (Sandbox Code Playgroud)

Thi*_*ilo 9

改变这一行

= f.fields_for :relationship do |builder|
Run Code Online (Sandbox Code Playgroud)

对此:

= f.fields_for :relationships do |builder|
Run Code Online (Sandbox Code Playgroud)

你的问题有很多关系 - 复数.这将为您提供正确的relations_attributes参数.