我为我的Rails 3应用程序运行了RailsAdmin,该应用程序有两个模型-Sale和Merchandise。两者之间存在HABTM关系。在RailsAdmin中,添加或编辑销售后,将以常规方式显示可用商品的列表。但是,仅显示商品的“名称”列。我还有另一列,需要包含其值才能使列表有意义。如何将其添加到RailsAdmin界面?
我知道RailsAdmin docs表示字段声明可以访问包含当前记录实例的绑定(bind)哈希-但是我找不到任何实现此方法的示例。谢谢你的帮助。
最佳答案
我建议您为此使用自定义对象标签方法。您的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
这不会回答您有关可用绑定(bind)变量的问题,但我希望它能解决根本问题。如果要查看在自定义字段 View 中可访问哪些变量,则可以浏览〜/rails_admin/app/views/rails_admin/main/中的 View 。快速的grep显示在这些 View 中可访问bindings [:object],但是IIRC中还有一些其他可访问的bindings变量。