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

바닐라 대신 더 나은 트리 구현을 사용하는 경우 자연 정렬을 트리 정렬로 정의하고 레이블에 중첩 수준에 대한 힌트를 포함하도록 정의 할 수 있습니다.

는 예를 들어, nested_set 구현, 당신은 정렬 할 :left 필드를 사용 할 수 있으며 :depth 필드 (있는 경우) 레이블 예를 ">Desktop Memory"에 대한 획득, 사용자 정의 메소드에 다수의 화살표를 (예를 들어 :display_name)를 씁니다 자녀 항목의

그럼 그냥 rails_admin하기 위해 선호 object_label_method로 사용자 정의 메소드를 추가 :

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