我有几个回调记录创建/更新活动:
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
除外。
我错过了什么?