1

我的應用程序中有以下模型可用。rails_admin 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

如果您使用一些更好的樹實現而不是香草一個,您可以將自然排序定義爲樹排序,並將標籤定義爲包含嵌套級別的提示。

例如,在一個nested_set實現,你可以使用:left字段進行排序,並:depth場(如果可用)前面加上了一些箭頭,一個自定義的方法(例如:display_name),獲得例如">Desktop Memory"的標籤你的孩子的物品。

然後,只需添加自定義的方法作爲首選object_label_method到rails_admin:

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