0
投稿とコメントの2つのモデルがあります。新しいコメントを作成するためのRails:新しいアクションでインスタンス変数を初期化する方法
class Post < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :post
end
私のフォームは、私は上記のフォームの新しいアクションで混乱が生じています
<%= form_for @comment , :url => post_comments_path(params[:post_id]) do |f| %>
<%= f.text_area :title %>
<%= f.submit "Add Comment" %>
<% end %>
以下の通りです。新しいアクションでは、以下の2つの方法で@commentインスタンス変数を初期化できます。
@comment = Comment.new
or
@post = Post.find(params[:id)
@comment = @post.comments.build(set_params)
私の質問はComment.newとの@ post.comments.build(set_params)との違いは何かということです。
最初のコメントには 'post_id'プロパティが設定されていません。それはすべての違いです。 –
コメントの作成をどのように扱うかによって、どちらか一方の形式が望ましいかもしれません。 –