そのため、アクセスしようとするhttp://127.0.0.1:3000/users/1/posts/17
とエラーが発生します
undefined method `post_comments_path' for #<#<Class:0x007fece23212a8>:0x007fece2a7c110>
Extracted source (around line #1):
1: <%= form_for([@post, @comment]) do |f| %>
2:
3: <%= f.label :name %>
4:
これは私のファイルを参照しています -/app/views/posts/_form_comment.html.erb where line #1 raised:
私の/app/views/posts/_form_comment.html.erb
ファイルは次のとおりです-
<%= form_for([@post, @comment]) do |f| %>
<%= f.label :name %>
<br />
<%= f.text_field :name%>
<br />
<%= f.label :comment %>
<br />
<%= f.text_area :comment%>
<br />
<%= f.submit "Create comment" %>
<% end %>
そして、これが私のPostControllerのshowメソッドです
def show
@post = Post.find(params[:id])
@comment = @post.comments.build
@cl = Comment.where(:post_id => @comment[:post_id])
end
/app/views/posts/_form_comment.html.erb
ここで、ファイルの内容が空の場合、ページは問題なくロードされることに注意してください。投稿のタイトルと内容を表示します。コメント欄以外。だから、コメント欄に何か問題があると思います。しかし、私は何を知りません。
重要な注意: これは以前には発生しませんでした。ユーザーモデルを投稿モデルに関連付けるまでは正常に機能していました。 どうもありがとう。
更新:私のルートは次のようになります-
resources :users, only: [:show] do
resources :posts do
end
resources :comments, only: [:create]
end