Rails has_one / belongs_to不保存父ID

时间:2012-09-25 10:06:24

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 nested-attributes simple-form

我有2个模型,响应和输入。

Response has_one Entry
Entry belongs_to Response

(尝试在响应的show视图中执行此操作)

在Show I的控制器操作中:

@response = Response.find(params[:id])
@entry = @response.build_entry(:response_id => @response.id)

还尝试了@response.build_entry

使用simple_form gem和simple_form_for @entry创建条目,但不会在条目记录中保存父(响应)id。

我完成此操作的唯一方法是在表单中添加一个隐藏字段,我真的不想这样做...

2 个答案:

答案 0 :(得分:1)

参考this

:response_id => @response.id

中删除build
@response = Response.find(params[:id])
@entry = @response.build_entry
@response.save

答案 1 :(得分:0)

Salil的代码是正确的。我认为您应该修改您的方法并将数据验证从控制器移动到模型。