关于视图助手控制器的使用,我遇到了一些困惑。我的场景是:
session_helper.rb :
module SessionsHelper
# logs in the given user.
def log_in(user)
session[:user_id]=user.id
end
sessions_controller.rb:
class SessionsController < ApplicationController
def create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
log_in user
redirect_to user
end
end
def destroy
log_out
redirect_to root_url()
end
现在,根据我阅读的文档,它提到在视图中使用帮助程序,以减少在那里完成的编码量。
我的问题是:我如何能够使用我的控制器中log_in
中定义的log_out
和session_helper
方法?
如果有人能清楚我这个概念会非常有用。
答案 0 :(得分:1)
回答你的问题:
ActionController::Base.helpers.log_in(user)
但是,最好将这些方法放在控制器中。