我有这个模型“Schedule”,其属性为:id, :augurid, #and so on
。
我有另一个模型“Augur”,其属性为:id, :name, :email #and so on
。
现在我想在Rails_Admin的Schedule页面中显示augur.name,我的代码如下:
config.model "Schedule" do
list do
fields :id, :weekdays, :occupied, :starting, :duration
field :augur do
pretty_value do
augur = Augur.find(:augurid)
augur.name
end
end
end
edit do
fields :id, :augurid, :weekdays, :occupied, :starting, :duration
end
show do
end
end
但是这段代码不起作用,我不知道为什么因为我是rails的新手,并且我已经检查了rails_admin的文档,看起来没有解决这个问题的方法。
任何人都可以帮助我吗?
我认为问题出在附近 augur = Augur.find(:augurid), 因为如果我将:augurid更改为5,它将显示正确的预兆名称。但是我如何为日程表中的每一条记录做到这一点?
答案 0 :(得分:2)
您应该能够将object_label_method :name
添加到Augur模型的rails_admin配置中:
config.model "Augur" do
object_label_method :name
...
end
这就是你要找的东西吗?
答案 1 :(得分:1)
正如@ JKen13579所提到的那样,:object_label_method :name
可以为你做到。但是如果你真的想要访问rails_admin回调中的“当前对象”,有一种方法:
list do
field :augur do
pretty_value do
bindings[:object].name
end
end
end
这将显示augur的名称,仅影响列表视图。