私は run_callbacks で遊んでいて、問題がありました。誰か助けてくれませんか?
## loveable.rb
module Loveable
extend ActiveSupport::Concern
included do
define_callbacks :love
end
def loved_by!(lover)
run_callbacks :love do
do_love(lover)
end
end
def do_love(lover)
...implementation goes here...
end
end
## product.rb
class Product < ActiveRecord::Base
include Loveable
set_callback :after, :love, :after_love
def after_love
## How to get lover here??
end
end
after_love メソッドで「恋人」ユーザーが必要です。どうすればそれを達成できますか?
今のところインスタンス変数を使用していますが、解決策が気に入りません。
## loveable.rb
def loved_by!(lover)
@lover = lover
run_callbacks...
end
## product.rb
def after_love
@lover.do_something
end
もっと良いアイデアはありますか?