2012-02-16 78 views
5

我有RailsAdmin爲我的Rails 3應用程序運行,它有兩個模型 - Sale和Merchandise。兩者之間存在HABTM關係。在RailsAdmin中,當添加或編輯銷售時,通常會顯示可用商品列表。但是,只顯示商品的「名稱」欄。我有另一列的值需要列入名單纔有意義。我如何將其添加到RailsAdmin界面?在RailsAdmin的列表中添加額外的列值

據我所知,RailsAdmin docs表示字段聲明可以訪問包含當前記錄實例的綁定哈希 - 但我找不到如何實現它的任何示例。謝謝你的幫助。

回答

5

我建議你爲此使用自定義對象標籤方法。你RailsAdmin配置可能是這樣的:

config.model Merchandise do 
    object_label_method 
    :custom_label 
    end 
end 

和你的ActiveRecord模型將包含該實例標識的方法:

class Merchandise < ActieRecord::Base 
    def custom_label 
    "#{self.label} #{self.another_column} #{self.another_column2}" 
    end 
end 

這不回答你的問題有關可用綁定變量,但我希望它解決根本問題。如果您想查看自定義字段視圖中可訪問的變量,則可以查看〜/ rails_admin/app/views/rails_admin/main /中的視圖。一個快速的grep顯示綁定[:object]可以在這些視圖中訪問,但是IIRC,還有其他一些可訪問的綁定變量。

+0

只是想增加對他人的object_label_method可以直接在模型中加入這樣你就可以保留特定模型中的所有配置(並且作爲額外的獎勵,您不必爲了更改新配置而重新啓動服務器)。 – 2015-11-11 19:57:10

5

您至少提供以下對象:

bindings[:object] # the actual object 
bindings[:view] # you can access view helpers here 
bindings[:controller] # you can access the controller 

你在這種情況下,需要的是bindings[:object]