レールビューでカテゴリとサブカテゴリを出力するにはどうしたらいいですか?レールビューとコントローラのレコードを反復する
- まず、カテゴリ名
- まずカテゴリの子供1名
- まずカテゴリの子供2名
- まずカテゴリの子供3名
- :このように第2のカテゴリ名
- セカンドカテゴリの子供1名
- セカンドカテゴリの子供2名
- セカンドカテゴリの子供3名
私schema.rb:
create_table "categories", force: :cascade do |t|
t.integer "title"
t.boolean "state", default: true
t.integer "parent_id" # id of parent category
end
私categories_controller.rb
def show
@category = Category.find(params[:id])
#child categories of current parent category
@child_categories = Category.where(parent_id: @category.id)
#subchild categories of current parent category
@child_categories.each do |category|
@subchild_categories = Category.where(parent_id: category.id)
end
end
私show.html。
- まず、カテゴリ名
- セカンドカテゴリの子供1名
- セカンドカテゴリの子供2名
- :ERBは
<% if @child_categories.any? %> <ul> <% @child_categories.each do |child| %> <li> <%= child.title %> <ul> <% @subchild_categories.each do |subchild| %> <li><%= subchild.title %></li> <% end %> </ul> </li> <% end %> </ul> <% end %>
は今、私はこのような何かを得ます第二カテゴリの子供3名
- セカンドカテゴリ名
- セカンドカテゴリの子供1名
- セカンドカテゴリの子供2名
- セカンドカテゴリの子供3名
ありがとうございました!この仕事はうまく:) – Oleg