我使用devise(ruby-on-rails)进行身份验证,使用before_filter:authenticate_user!要求用户登录。现在我想在Rails.env:dev上跳过登录操作,同时仍然需要在Rails.env:prd上进行身份验证。我想知道当我在env:dev上启动时,我是否可以在代码上自动登录特定用户(如admin)。
class QueryController < ActionController::Base
layout "query"
before_filter :auto_login
before_filter :authenticate_user!, :except =>
[
:show,
:query
]
def auto_login
if Rails.env == 'dev'
current_user = User.find_by(login: 'admin')
end
end
我想知道authenticate_user如何实现登录操作。我尝试与用户登录但失败了。
要登录您的管理员用户,请执行以下操作
current_user = User.find_by(login: 'admin')
但是,你可能不应该这样做。始终是开发模式的管理员用户是一个坏主意。您应该以不同类型的用户身份登录以正确测试代码。