2013-09-25 186 views
0

我与股票和证明书有一对一的关系。如何创建嵌套资源?

在Testimonial.rb:

belongs_to :share 

在Share.rb:

has_one :testimonial 

我想要一个窗体添加到共享页面,我可以创建属于特定份额告别赛。

的SharesController我在里面设置:

@testimonial = @share.build_testimonial 

股份查看我:

<%= form_for @testimonial do |f| %> 
<%= f.text_area :message %> 
<%= f.submit "Submit testimonial" %> 

是上述正确的还是我的共享对象添加到莫名其妙的看法?

什么我添加到褒奖控制器中的创建操作来创建证明并将其与@share对象关联?

我试图从视图发送share_id作为附加参数,然后使用“之前”过滤器来查找共享对象,但我不认为这是做到这一点的正确方法。

回答

0

share.rb模型,你要添加:

accepts_nested_attributes_for :testimonial 

既然你是在share观点,我认为你必须在该视图的构建:

<%= form_for @share do |f| %> 
    ... 
<% end %> 

在这种情况下,使用testimonial字段:

<%= form_for @share do |f| %> 
    <%= fields_for @share.testimonial do |t| %> 
    <%= t.text_area :message %> 
    <% end %> 
<% end %> 
+0

我想用Testimoni als创建操作,而不是共享编辑(put)操作。这会有所作为吗? – grabury

+0

@spuggy也许这真的应该是一个推荐的观点,而不是分享观点。 – lurker

+0

在我的分享页面上,我有一个部分可以创建一个证明,另一个部分可以创建反馈。如果这就是你的意思 – grabury