ユーザーが他の人のマイクロポストにコメントできるユーザー/マイクロポスト/コメントモデルがあります。すべての投稿の下にテキストフィールドが表示されるので、ユーザーはコメントを入力できますが、マイクロポストIDを見つけるのに苦労しています。問題は私のform_forコメントまたはコントローラーにあると思いますが、よくわかりません。いくつかの助けが大好きです、ありがとう。
エラー:IDのないマイクロポストが見つかりませんでした
モデル:
User Model: has many microposts, has many comments
Micropost Model: belongs to user, has many comments
Comment Model: belongs to micropost, belongs to user
ユーザーコントローラー:
def show #(the profile page where all the posts and comments are)
@user = User.find(params[:id])
@microposts = @user.microposts.paginate(page: params[:page])
@micropost = current_user.microposts.build if signed_in?
@comments = @micropost.comments
@comment = current_user.comments.build(:micropost => @micropost) if signed_in?
end
コメントコントローラー:
def create
@micropost = Micropost.find(params[:id])
@comment = current_user.comments.build(:micropost => @micropost) #can someone explain what happens in the parentheses?
@comment.user = current_user
@comment.save
redirect_to :back
end
表示/コメント/_comment_form:
<%= form_for(@comment) do |f| %>
<div id="comment_field">
<%= f.text_field :content, placeholder: "Say Something..." %>
</div>
<% end %>
ルート:
resources :users
resources :microposts, only: [:create, :destroy]
resources :comments, only: [:create, :destroy]