我正在使用一个中型 Rails 应用程序,我在每个控制器中都这样做:
def create
@object = Model.new(params[:model].merge(editing_user: current_user))
...
end
def update
@object = Model.find(params[:id])
@object.editing_user = current_user
...
end
一遍又一遍地设置编辑用户不是 DRY。我考虑过用观察者清理它,但它需要访问当前用户。观察者无权访问当前用户,他们也不应该(德米特法则)。
有什么建议可以在控制器之间干燥吗?