簡體   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