我使用Devise,它在助手中提供了「current_user」方法,以便我可以在視圖和控制器中使用。在Ruby on Rails的模型中使用「current_user」
但是現在我想訪問模型中的「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'和你已經傳遞的'params [:email_address]'一起傳遞給模型中的'set_email_address'? – 2010-11-10 02:59:49