I need to know the ID of the current user in a model:
def after_save
desc, points=nil, nil
if answer_index == daily_question.correct_answer_index
desc = I18n.t('daily_question.point_log.description.correct')
points=daily_question.points
else
desc = I18n.t('daily_question.point_log.description.incorrect')
end
current_user.give_points(:description => desc,
:points => points
开发者_Go百科 )
end
But I guess that is not how it is done?
Regards,
Jacob
assuming the user is loggedin you can use
UserSession.find.user
You might want to add checks to ensure UserSession.find
returns something before calling .user
It's not possible.
The current_user relies on the session, which isn't available in the model (and that's normal. The models are context-independent).
You should pass the user to the model as a parameter.
The best way to access the current_user in the Model(s) when using Authlogic is using Sentiant User - https://github.com/bokmann/sentient_user There is a full documentation on the there how to use it.
精彩评论