Ruby on Rails - 渲染新的节目

时间:2017-01-13 11:41:18

标签: ruby-on-rails

我有嵌套资源,我试图在父节目的展示中显示嵌套资源的新布局。

resources :discussions do
    resources :comments
end

讨论\ show.html.erb

<%= @discussion.title %>
<%= ... render the discussion %>
<%= ... render the existing comments %>
<% render 'comments/new' %>    <--- trying something like this

comments/new会抛出错误,因为它错过了部分错误。
comments/form可以解决这个问题,但会在我的@commentnil时发出错误。

评论/ _form.html.erb

undefined method discussion for nil:NilClass

<%= bootstrap_form_for([ @comment.discussion, @comment] ) do |f| %>

我是否必须更改控制器中的某些内容,或者我是否正确地进行此操作?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

试试这个

<强>讨论\ show.html.erb

<%= render 'comments/form', comment: @discussion.comments.build %>

<强>评论/ _form.html.erb

<%= bootstrap_form_for([ comment.discussion, comment] ) do |f| %>

希望这会奏效。