我在Rails应用程序Foo
和Bar
中有两个Ruby类。 Foo
有很多Bar
个。 Foo
有以下代表团:
delegate :bar_method, to: :bar
有没有办法让bar_method
显示在Foo
的{{1}}中?
答案 0 :(得分:0)
首先,如果你有一个类Foo并且它has_many :bars
那么Foo的一个实例没有一个Bar,它有一个Bars集合。所以你的delegate :bar_method, to: :bar
将无效,因为没有吧。
话虽如此,如果改为Foo has_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