我有几个回调记录创建/更新活动:
class Projelement
..
after_create { |p| p.log_projelement_activity "created" }
after_update { |p| p.log_projelement_activity "edited" }
我需要扩充设计以在创建/更新时传递current_user
(设计)log_projelement_activity
来记录用户。
我试图current_user
通过虚拟属性将控制器传递给模型和回调。但这行不通。
编码:
class Projelement
attr_accessor :modifying_user
after_create { |p| p.log_projelement_activity "created", modifying_user }
after_update { |p| p.log_projelement_activity "edited", modifying_user }
def log_projelement_activity(op_type, user)
@a = Activity.new
@a.user = user
end
end
class MilestoneController
..
def create
@milestone = Milestone.new(params[:milestone])
@milestone.modifying_user = current_user
end
end
每个创建/更新Activity
都有预期值,除了user
字段是nil
.
我错过了什么?