Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何创建嵌套资源?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何创建嵌套资源?

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_

我与股票和证明有一对一的关系

在emissional.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\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 %>