在使用视图辅助控制器方面,我遇到了一些困惑。我遇到的情况是:
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
中定义的session_helper
和log_out
方法?
如果有人能在这个概念上澄清我的话,那将是非常有帮助的。
发布于 2015-10-07 23:23:49
回答你的问题:
ActionController::Base.helpers.log_in(user)
但是,最好将这些方法放在控制器中。
https://stackoverflow.com/questions/33008767
复制