2

私はcategory.parent_idと呼ばれるフィールドを持つモデルcategoryを持っています。これはタクソノミ(サブカテゴリを持つ最上位のカテゴリ)の作成に使用されます。現時点でActiveAdmin - カテゴリタクソノミーの表示方法(ツリータイプの階層で)

私のインデックスページのようにカテゴリを示しています

私は(つまり、最初にすべてのトップレベルカテゴリをなど、その後のサブカテゴリーDBから取得されます)と示す適切な分類でそれらを注文することができるか
Top level category 
Sub category 
Sub category 
Top category 

以下の通り:

Top level category 
-- Sub category 
-- Sub category 
Top category 

答えて

3

についての思考、私はこの解決策を考え出した:

ActiveAdminはは、しかし、あなたは1をレンダリングすることができ、全体のインデックスの部分をレンダリングすることはできません単一の列のために!

だから、仕事は周りにこのようなサブカテゴリの列を作成することでした:_children.html.erb

column "Sub Categories" do |category| 
     children = Category.children(category.id) 
     if children.present? 
     render :partial => "children", :locals => { :children => children } 
     end 
    end 

そしてあなたは、このようなリストをプリントアウトすることができ、部分的表示:

<% children.each do |child| %> 
     <p><%= link_to child.name, edit_admin_category_path(child) %></p> 
    <% end %> 
1

あなたは(app/model/category.rbで)あなたの場合には、このような自己参照モデルを作成することができます。

belongs_to :parent, :class_name => 'Category', :foreign_key => 'parent_id' 
has_many :children, :class_name => 'Category', :foreign_key => 'parent_id' 

その後、あなたは両親のために

scope :parents, where("parent_id IS NULL") 

をスコープを作成することができ、ビューに、あなたがこの

<ul> 
<% Category.all.parents.each do |parent| %> 
    <li class="parent"><%= link_to parent.name, parent %></li> 
    <% parent.children.each do |child| %> 
      <li class="sub"><%= link_to child.name, child %></li> 
    <% end %> 
<% end %> 
</ul> 

のように反復使用することができますが、これはあなたのお役に立てば幸い!

//私が読んでみたいものを読んで、...それはアクティブな管理者についてはわかりませんでした。それは壁に頭を強打する時間後のActiveRecord -.-

+0

心配はありませんが - - それはまだ私が学んだ新しいものです(そして、私はactiveadminのためにこれをとにかく使う必要があります)。ありがとう! :) – Hopstream

+0

class_nameは引用符で囲まないでください – namtax