在过去的几天里,当谷歌机器人试图访问我们的主页(欢迎/索引)时,我们已经开始收到丢失的模板错误.我一直盯着这几个小时,知道我只是缺少一些简单的东西.
A ActionView::MissingTemplate occurred in welcome#index:
Missing template welcome/index with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml, :haml], :formats=>["*/*;q=0.9"], :locale=>[:en, :en]}
Run Code Online (Sandbox Code Playgroud)
但模板确实存在(index.html.haml).如果没有,没有人可以访问我们的主页.
以下是一些其他环境信息:
* REMOTE_ADDR : 66.249.72.139
* REMOTE_PORT : 56883
* REQUEST_METHOD : GET
* REQUEST_URI : /
* Parameters: {"controller"=>"welcome", "action"=>"index"}
Run Code Online (Sandbox Code Playgroud)
您将获得任何见解将不胜感激.
使用:Rails 3.0.7设计1.4.5 jquery-rails 1.0.14
通过ajax发布数据时,Devise没有设置current_donor.
我的请求标题如下所示:
Host localhost:3000
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0) Gecko/20100101 Firefox/6.0
Accept */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection keep-alive
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
x-csrf-token UFhqJrlOA1c1sAPeUTtV/ABcq5IeqkfA842ORcIWwks=
Run Code Online (Sandbox Code Playgroud)
在关联的控制器操作中,查看会话值,我发现以下内容:
{"_csrf_token"=>"UFhqJrlOA1c1sAPeUTtV/ABcq5IeqkfA842ORcIWwks=", "warden.user.donor.key"=>["Donor", [485], "$2a$10$OtkItrzVhN4Ussnqy5k1Au"], "session_id"=>"e6693e22275385a58e0915538791ea49"}
Run Code Online (Sandbox Code Playgroud)
这将向我表明csrf_token与期望值匹配.然而,current_donor仍然是零.
我已经阅读了几篇关于此的帖子,实际上,在开始时,csrf_meta_tag方法不在我的布局中,并且没有设置csrf标记.
但是,现在不再是这种情况,正在设置csrf令牌,但我仍然没有得到current_donor值.
当我发出ajax get请求时,current_donor正在正确设置.
你对我应该看到的其他地方的任何建议将不胜感激.
最好,汤姆