1
私はacts_as_commentable_with_threading gemを使用しています。Rails 3 acts_as_commentable_with_threading gem
マイ_new.html.erb
<div class="adding_comment"> </div>
<%=form_for [commentable, Comment.new], :remote => false do |f|%>
<%=f.hidden_field :commentable_id, :value=> @post.id %><br/>
<%=f.label :title%> :<br/>
<%=f.text_field :title%><br/>
<%=f.label :subject%> :<br/>
<%=f.text_field :subject%><br/>
<%=f.label :body%><br/>
<%=f.text_area :body, :style=>"width:320;height:80px"%><br/><br/>
<%=f.submit "Add comment"%>
<%end%>
コメントコントローラ:私が追加した私のポストモデルでは
class CommentsController < ApplicationController
def create
@post = Post.find(params[:comment][:commentable_id])
@user_who_commented = current_user
@comment = Comment.build_from(@post, @user_who_commented.id, "Comment!")
end
end
:私のポストのshow.htmlで
acts_as_commentable
。 erb:
<%= render :partial => "comments/new", :locals => { :commentable => @post }%><br/>
<h1>Comments</h1>
<div id="comments">
<%=render :partial => 'comments/index',:locals => {:commentable=> @post, :comments => @comments}%>
</div>
しかし、私はエラーを取得していますボタン「送信」をクリックした後:
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
Request:
{"utf8"=>"✓",
"authenticity_token"=>"2GvCfaCB/qAxdh+1jJvcZ76jL9fdxP+h5qEIOClmNHk=",
"comment"=>{"commentable_id"=>"1",
"title"=>"et",
"subject"=>"et",
"body"=>"ewt"},
"commit"=>"Add comment",
"post_id"=>"google-search-and-search-engine-spam"}
を助けてください。ありがとう。
ありがとう、私は今日それを試し、結果についてここに書きます。 –