它应该是这样工作的:我登录到管理面板,转到汽车/新车并填写字段,按创建,我的列表中应该有一辆新车。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
用户控制器:http : //pastie.org/3028586
我可以编辑汽车,它工作正常,所以来自 cars_controller 的更新和编辑功能没问题,我检查了来自 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 Trace | Full Trace
app/controllers/application_controller.rb:9:in `login_required'
app/middleware/flash_session_cookie_middleware.rb:17:in `call'
ENV DUMP
...
....
rack.url_scheme: "http"
rack.version: [1, 0]
warden: Warden::Proxy:-621456458 @config={:default_strategies=>{:_all=>[:database]}, :failure_app=>UsersController, :default_scope=>:default, :scope_defaults=>{}, :intercept_401=>true}
warden.options: {:attempted_path=>"/cars", :action=>"unauthenticated"}
我只有在添加新车时才会收到此错误,我可以编辑汽车、新闻、联系人。除了汽车之外的一切。
问题解决了
这个问题是由一些 jquery 库引起的,我在这个表单中使用了 dynamic_form,所以当我在下一个 select_box 中选择汽车名称时,只会出现所选汽车的模型。检查问题(和我的老师一起,我自己不会想到)我们看到当我选择汽车时,日志中正在运行一个名为“dynamic_carmodels”的进程来更新汽车型号列表,此时会话密钥由另一个更改,通常如果更改会话密钥,我登录时开始的会话不再有效,这就是我收到“未经身份验证的错误”的原因。仍然不知道究竟是什么 jquery 导致了这个问题,但最后我解决了这个问题,这不是因为监狱长配置。