###前提・実現したいこと
railsで/tags/:id/articlesというパスを設定したいです。
表示項目としてはtag/:idに紐づくarticlesだけ表示したいです。
その際、ルーティング、コントローラー、ビューをどのように設計すればよいのでしょうか。
###現在発生しているエラー
log
1ActiveRecord::RecordNotFound: Couldn't find Tag without an ID
###現在のソースコード
routes.rb
ruby
1resources :tags, only: [:show] do 2 get '/articles' => 'tags#tag_article' 3 end
現在は上記のようにtag_controllerにtag_articleアクションを設定し、
tag_article.html.erbを表示させようと試みています。
tags_controller.rb
ruby
1def tag_article 2 @tag = Tag.find(params[:id]) 3 @articles = @tag.articles.page(params[:page]).per(8) 4 @tags = Tag.all 5end
しかし、tagのIDが取得出来ず、ActiveRecord::RecordNotFound: Couldn't find Tag without an IDというエラーが表示されてしまいます。
上記のような場合どのようにIDを引き継げば良いのでしょうか。
もしくは、/tags/:id/articlesのような設計をするのに、より良い方法はございますでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。