0

我在 Rails 应用程序中有两个 Ruby 类,Foo并且Bar. Foo有很多Bars. Foo有以下代表团:

delegate :bar_method, to: :bar

有没有办法bar_method出现在Foo's columns_hash

4

1 回答 1

0

首先,如果你有一个 Foo 类,has_many :bars那么 Foo 的一个实例没有 Bar,它有一个 Bar 的集合。所以你delegate :bar_method, to: :bar不会工作,因为没有酒吧。

话虽这么说,如果改为 class Foohas_one :bar然后delegate :bar_method, to: :bar你可以调整 columns_hash 方法。

Rails 只是 Ruby,所以你可以只使用 Ruby

def self.columns_hash
  super.merge('bar_method' => Bar.columns_hash['bar_method'])
end
于 2013-06-24T22:58:49.403 回答