我在项目中使用Rails 4.2并且帮助程序似乎没有加载。
我有sessions_controller.rb
:
class SessionsController < ApplicationController
def new
if signed_in?
redirect_to admin_path
else
render layout: 'login'
end
end
def create
@controller_js = ''
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
sign_in user
# user.update_attribute(:sign_in_count, user.sign_in_count + 1)
user.update_attribute(:last_login, DateTime.now)
if user.admin?
redirect_to admin_path
else
redirect_to user
end
else
flash.now[:danger] = 'Invalid email/password combination'
render layout: 'login'
end
end
def destroy
sign_out
redirect_to root_url
end
end
在我的SessionsHelper.rb
module SessionsHelper
def sign_in(user)
remember_token = User.new_remember_token
cookies.permanent[:remember_token] = remember_token
user.update_attribute(:remember_token, User.digest(remember_token))
self.current_user = user
end
end
但是我收到的错误是由于没有加载SessionsHelper引起的。
但是,当我在ApplicationController.rb
中添加方法时,它确实可以正常工作。
似乎是Rails 4.2 issue?
但我不确定如何解决我的问题。有什么想法吗?