Tag: 看守

rails 3 warden NameError(uncaught throw`warden’):

这是它应该如何工作:我登录管理面板,转到汽车/新的,填写字段,按创建,我应该在我的列表中有一辆新车。 www.autozeep.com 问题是,在按下“创建”按钮创建新车之前,它可以正常运行,服务器日志显示: NameError (uncaught throw `warden’): app/controllers/application_controller.rb:9:in `login_required’ app/middleware/flash_session_cookie_middleware.rb:17:in `call’ 在开发模式下,这工作正常,在生产模式的服务器上它不是,它是相同的代码,没有任何改变。 更多服务器日志: http : //pastie.org/3028350 application_controller class ApplicationController < ActionController::Base protect_from_forgery # filter def login_required return true if authenticated? warden.authenticate! end users_controller: http : //pastie.org/3028586 我可以编辑汽车,它工作正常,所以来自cars_controller的更新和编辑function都可以,我检查了新的并从cars_controller创建函数,但我无法解决任何会让我知道发生了什么的事情。 Cars_controller: http ://pastie.org/3028452 请帮忙,我已经运行了这个应用程序,等待这个问题的客户端只能解决。 非常感谢你们。 编辑 NameError in CarsController#create uncaught throw `warden’ Rails.root: /u/apps/zeepauto/releases/20111123173432 Application Trace | Framework […]

配置Warden以用于RSpec控制器规范

我能够使用Devise的sign_in方法在我的控制器规范中登录用户。 但是现在我正在从我的应用程序中删除Devise,我不太确定如何使用Warden自己的类似function。 我应该如何设置spec/spec_helper.rb和相关的spec/support/*.rb spec/spec_helper.rb文件,以使Warden在控制器规格内运行得足够多? 我尝试使用以下内容在spec/support/warden.rb设置文件: RSpec.configure do |config| config.include Warden::Test::Helpers config.after do Warden.test_reset! end end 然后我before调用类似于此beforevalidationuser工厂: before { login_as FactoryGirl.create(:user) } 但这是我一直看到的错误: NameError: undefined method `user’ for nil:NilClass 此错误追溯到我的authenticate_user! 控制器中的方法: def authenticate_user! redirect_to login_path, notice: “You need to sign in or sign up before continuing.” if env[‘warden’].user.nil? end 我很感激任何人都可以提供的任何指导。