2012-01-05 30 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