Ruby on rails 如何创建嵌套资源?
我与股票和证明有一对一的关系 在emissional.rb中:Ruby on rails 如何创建嵌套资源?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我与股票和证明有一对一的关系 在emissional.rb中: belongs_to :share 在Share.rb中: has_one :testimonial 我想在共享页面中添加一个表单,在这里我可以创建一个属于该特定共享的证明 在我设置的SharesController中: @testimonial = @share.build_testimonial 我认为: <%= form_for @testimonial do |f| %> <%= f.text_
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\u id
作为附加参数从视图发送到推荐控制器,然后使用“before”过滤器查找共享对象,但我认为这不是正确的方法。在share.rb
模型中,您需要添加:
accepts_nested_attributes_for :testimonial
由于您处于共享
视图中,我认为您在该视图中会有一个结构:
<%= form_for @share do |f| %>
...
<% end %>
我想使用推荐创建操作,而不是共享编辑(放置)操作。这会有所不同吗?@spuggy也许这真的应该是一个推荐视图而不是共享视图。在我的共享页面上,我有一个创建推荐的部分,另一个创建反馈的部分。我不能把它放在自己的页面上,如果你是这么想的话mean@spuggy,您的共享页面仍然会有@share的
表单,不是吗?然后在调用partial以获得反馈时,您可以将f
从表单中传递给,并将上述代码用于字段。如果您在问题中多分享一些视图代码,可能会更清楚。
<%= form_for @share do |f| %>
<%= fields_for @share.testimonial do |t| %>
<%= t.text_area :message %>
<% end %>
<% end %>