Rails_Admin在列表中查找

时间:2013-11-23 22:54:19

标签: ruby-on-rails ruby list lookup rails-admin

我有这个模型“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,它将显示正确的预兆名称。但是我如何为日程表中的每一条记录做到这一点?

2 个答案:

答案 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的名称,仅影响列表视图。