1

私のアプリでは以下のモデルが入手できます。rails_admin belongs_to belongs_toフィールド名の変更

class Category < ActiveRecord::Base 
    validates :name, :presence => true 
    validates :name, :uniqueness => { :scope => :parent_id, :case_sensitive => false } 

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

さらに、私のアプリケーションではrails_adminが有効になっています。自動生成された管理サイトでは、添付の画像に示すように、親カテゴリと子カテゴリを選択する際に問題があります。この例では

Rails Admin sample

、私は実際には "メモリ"(親)の下で、 "デスクトップのメモリー"(子)を持ちます。ドロップダウンメニューと選択リストでどのように識別しますか?おそらく "メモリ - デスクトップメモリ​​"のようなもので。

答えて

0

バニラの代わりにいくつかのツリー実装を使用すると、自然なソートをツリーソートに、ラベルにネストレベルのヒントを含めることができます。例えば

は、ラベルのインスタンス">Desktop Memory"のために取得し、独自の方法(例えば:display_name)に番号矢印を付加するために、nested_set実装では、あなたはソートする:leftフィールドを使用することができ、かつ:depthフィールド(利用可能な場合)あなたの子供のアイテムの。

RailsAdmin.config do |config| 
    # ... 
    config.label_methods.unshift :display_name 
    # ... 
end 

それからちょうどrails_adminに優先object_label_methodとしてカスタムメソッドを追加

関連する問題