最近、アプリを rails 4.0 と ruby 2.0 にアップグレードしましたが、method_missing
定義が機能しない理由がわかりません。以前と何も変わっていないことは確かです。
belongs_to
具体的には、ActiveRecord オブジェクトがポリモーフィックな関係を介してオブジェクトへの呼び出しに応答できるようにするメソッドを作成しようとしています。
ここに私のクラスがあります:
song.rb
class Song < ActiveRecord::Base
has_many :events, :as => :eventable
end
event.rb
class Event < ActiveRecord::Base
belongs_to :eventable, :polymorphic => true
def method_missing(meth, *args, &block)
if meth.to_s == self.eventable_type
self.eventable
else
super
end
end
end
event.song
イベントの eventable_type == 'Song' のときに呼び出せるようにしたい問題はself.eventable_type
、スタック オーバーフローをトリガーする にあります。
ここで何が欠けていますか?