2012-01-05 29 views

回答

17

它會更容易想通了,謝謝!

filter :customer, :collection => proc {(Customer.all).map{|c| [c.company_name, c.id]}}

+1

感謝發佈。我有這個確切的問題。 – jfedick 2012-01-06 14:54:22

+1

我必須把這個文件放在哪個文件中?無法在模型中工作 – Mexxer 2012-03-22 14:54:45

+0

在app/admin/your_model_name.rb;) – Kulgar 2012-06-01 08:48:45

4

我不確定我是否理解你,但可能你應該在你的Customer類中定義to_s方法,例如

class Customer 

    def to_s 
    self.company_name 
    end 

end 

,如果你分享了一些代碼

1

爲了ActiveAdmin顯示選擇菜單正確嘗試Model.rb: -

alias_attribute:名稱,:CATEGORY_NAME

2
class Customer 

    def display_name 
    self.company_name 
    end 

end 

定義DISPLAY_NAME代替to_s的效果更好?

  • to_s可能會被其他對象自動調用TS。
  • DISPLAY_NAME隻影響ActiveAdmin

您還可以定義:

show :title => :display_name 

這將使您的COMPANY_NAME出現在視圖頁面,而不是公司#X稱號。

+0

對於關聯列,我們通過 按照以下順序調用以下方法進行有教育的猜測: :display_name,:full_name,:name,:username,:login,:title,:email,:to_s 這可以在config/initializers/active_admin.rb中自定義。 – barancw 2012-06-26 02:47:25