0
我需要在Rails 2.3.11应用程序中扩展模型,而不必触摸原始源文件。我需要在其中添加一个:has_many association
。我试过Extend model in plugin with "has_many" using a module中提到的方法没有成功。我需要扩展的类叫做UbiquoUser
。下面的代码我在lib/extensions.rb
:如何在Rails中扩展模型?
module Sindicada
module Extensions
autoload :UbiquoUser, 'extensions/ubiquo_user'
end
end
UbiquoUser.send(:extend, Sindicada::Extensions::UbiquoUser)
下面是我在lib/extensions/ubiquo_user.rb
:
module Sindicada
module Extensions
module UbiquoUser
module ClassMethods
def has_audio_favorites
has_many :audios, :through => :audios_favorite
end
end #ClassMethods
def self.included(base)
base.extend(ClassMethods).has_audio_favorites
end
end #UbiquoUser
end #Extensions
end #Sindicada
然而,当我尝试访问该应用程序的UbiquoUser
财产音频我得到的错误undefined method audios for class blablabla
。
我也在environment.rb
文件中有require 'extensions'
并检查了文件正在加载。
非常感谢,这使得它。干杯! – brafales 2011-06-02 16:09:50