- 我有一个模型“问题”和一个嵌套模型“关系”
在 issue.rb 中我提到过:
has_many :relationships, :dependent => :destroy accepts_nested_attributes_for :relationships, :allow_destroy => true
在 relationship.rb 我提到过:
belongs_to :issue
在 Ryan Bates Railcast#196 之后,我的问题控制器中有以下内容:
relationship = @issue.relationships.build
但是,我遇到错误“未知属性:关系”
我在这里做错了什么吗?我确实在日志中看到将关系属性传递给服务器,但是,此错误不会让创建成功。
我在 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')
我在跟踪中看到的:
ActiveRecord::UnknownAttributeError in IssuesController#create
unknown attribute: relationship
在问题参数中,我看到关系参数按预期传递:
"relationship"=>{"issue_id"=>"100",
"cause_id"=>""}
另一个更新 发布 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"