前提・実現したいこと
ancestryを使用して親子孫のカテゴリー機能を作成しています。
そこで、個別ページ(show)でそれぞれのカテゴリー名を表示させたいのですが、表示されません。
親カテゴリーは、
@post = Post.find(params[:id]) @category = @post.category
<%= link_to @category.name %>
このようにして問題なく表示できるのですが、子カテゴリーを表示できません。
試してみたこと
@post = Post.find(params[:id]) @category = @post.category @category2 = @category.parent
<%= link_to @category2.name %>
とすると、
NoMethodError in Posts#show undefined method `name' for nil:NilClass
というエラーが発生してしまいます。
Postを保存した際の表示
"category_id"=>"3"}, "item"=>{"category_id"=>"151"}, "commit"=>"送信"} Post Create (0.4ms) INSERT INTO `posts` (`category_id`) VALUES (3)
このようになっています。(category_id部分のみ)
終わりに
Postを保存した際の表示で、category_idには親のidしか保存されてないような気がするのですが、ancestryを使用したことがないため、子カテゴリーがきちんと保存されているのかがわかりません。
ご教授願います。
補足
@category2 = @category.children
このようにすると、「category」と表示されます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。