重複の可能性:
ルーティング エラーが発生し続けるのはなぜですか?
申し訳ありませんが、もう一度質問しますが、最初は応答がありませんでした。
michael hartl railstutorial のhttps://github.com/railstutorial/sample_app_2nd_edにあるマイクロポストにコメントを追加しようとしています。
これが、routes.rb ファイルの問題の領域です。
resources :microposts, only: [:create, :destroy] do
resources :comments,
end
ユーザーページにアクセスしようとすると、次のエラーが表示されます: No route matching {:controller=>"comments", :format=>nil, :micropost_id=>#}
これが rake routes | の出力です。grep コメント:
user_comments GET /users/:user_id/comments(.:format) comments#index
POST /users/:user_id/comments(.:format) comments#create
new_user_comment GET /users/:user_id/comments/new(.:format) comments#new
edit_user_comment GET /users/:user_id/comments/:id/edit(.:format) comments#edit
user_comment GET /users/:user_id/comments/:id(.:format) comments#show
PUT /users/:user_id/comments/:id(.:format) comments#update
DELETE /users/:user_id/comments/:id(.:format) comments#destroy
micropost_comments GET /microposts/:micropost_id/comments(.:format) comments#index
POST /microposts/:micropost_id/comments(.:format) comments#create
new_micropost_comment GET /microposts/:micropost_id/comments/new(.:format) comments#new
edit_micropost_comment GET /microposts/:micropost_id/comments/:id/edit(.:format) comments#edit
micropost_comment GET /microposts/:micropost_id/comments/:id(.:format) comments#show
PUT /microposts/:micropost_id/comments/:id(.:format) comments#update
DELETE /microposts/:micropost_id/comments/:id(.:format) comments#destroy
そして最後にここに私のcomments_controller.rbがあります
class CommentsController < ApplicationController
def create
@micropost = Micropost.find(params[:micropost_id])
@comment = @micropost.comments.build(params[:comment])
@comment.user = current_user
if @comment.save
redirect_to @micropost
else
redirect_to @micropost
end
end
def show
@comment = Comment.find(params[:id])
end
def new
end
def destroy
@comment = Comment.find(params[:id])
@comment.destroy
redirect_back_or root_path
end
end