Я использую Devise и предлагает метод current_user в помощниках, чтобы я мог использовать его в представлениях и контроллерах.Использование «current_user» в моделях Ruby on Rails
Однако теперь я хотел бы получить доступ к методу «current_user» в моделях. Вот что я имею в контроллерах сейчас.
def create
set_email_address(params[:email_address])
Comment.new(params[:content], set_email_address)
# [snip]
end
private
def set_email_address(param_email)
if current_user
@email_address = current_user.email
else
@email_address = param_email
end
end
Я хотел бы, чтобы переместить «set_email_address» к модели, потому что я думаю, что это логика и должна быть передана в модели. Я планирую подключить этот метод с помощью одного из обратных вызовов Rails.
Почему бы не передать 'current_user' в' set_email_address' на модели вместе с 'params [: email_address]', который вы уже проходите? –