如何从父母部分添加相关记录?

时间:2011-08-12 15:00:29

标签: ruby-on-rails ruby-on-rails-3 activerecord record nested-attributes

我有一个评论和评论表,评论可以有很多评论。

如何在评论部分中保留添加新评论表单?

我现在所拥有的“NilClass:Class”的未定义方法`model_name'错误。

_review.html.erb

<div class="review">    
  <div class="review_content">
    <h2 class="review_partial_title"><%= review.title %></h2>        
    <p class="review_body"><%= review.body %></p>       
  </div>

  <div class="clearall"></div>

  <div class="comments_container">
    <%= render :partial => 'comments/comment', :collection => review.comments %>
  </div>

  <div class="add_comment_container">
    <%= form_for [@review, @comment] do |f| %>    
      <p>body: <br>
      <%= f.text_field :body %></p>

      <%= submit_tag %>
    <% end %>
  </div>
  <div class="clearall"></div>
</div>

review.rb

class Review < ActiveRecord::Base
  has_many :comments

  accepts_nested_attributes_for :comments
end

路由

resources :reviews do
  resources :comments
end

感谢任何帮助,非常感谢!

1 个答案:

答案 0 :(得分:1)

改变这个:

<%= form_for [@review, @comment] do |f| %>

对此:

<%= form_for [review, review.comments.build] do |f| %>

希望有所帮助