繁体   English   中英

Rails 3和ActiveAdmin。 过滤器显示的是对象而不是公司名称

[英]Rails 3 and ActiveAdmin. Filter is displaying Objects not the company name

我有一个客户列表,但在右栏的过滤器部分,我在选择菜单中得到了一个类似#<Customer0X0B500>的列表。 如何显示Customer的company_name属性?

想出来,谢谢!

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

我不确定我理解你,但可能你应该在Customer类中定义to_s方法,例如

class Customer

  def to_s
    self.company_name
  end

end

如果你共享一些代码会更容易

class Customer

  def display_name
    self.company_name
  end

end

定义display_name而不是to_s效果更好......

  • to_s可以由其他对象自动调用。
  • display_name仅影响ActiveAdmin

您还可以定义:

show :title => :display_name

这将使您的company_name在视图页面上显示为标题,而不是公司#x。

要使ActiveAdmin显示选择菜单,请在Model.rb中尝试: -

alias_attribute:name,:category_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM