我想current_user
在我的模型中使用 Devise 的助手,这样我就可以Shop
在Dress
模型中使用before_save
.
这不起作用:
# Dress model
before_save :set_currency
def set_currency
self.currency = current_user.shop.currency
end
它确实在控制器中工作:
def create
@dress = current_user.shop.dresses.create(params[:dress])
@dress.update_column(:currency, current_user.shop.currency)
end
但它似乎效率低下,因为它会做一个UPDATE
after COMMIT
。StackOverflow 上的其他用户说不current_user
应该在模型中使用。有没有其他方法可以current_user
在模型中访问?