小编TDH*_*TDH的帖子

Googlebot收到现有模板的丢失模板错误

在过去的几天里,当谷歌机器人试图访问我们的主页(欢迎/索引)时,我们已经开始收到丢失的模板错误.我一直盯着这几个小时,知道我只是缺少一些简单的东西.

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)

您将获得任何见解将不胜感激.

googlebot ruby-on-rails missing-template

19
推荐指数
3
解决办法
3574
查看次数

即使请求头中包含正确的x-csrf-token,也不要在Ajax帖子上设置current_user

使用: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正在正确设置.

你对我应该看到的其他地方的任何建议将不胜感激.

最好,汤姆

ajax jquery jquery-ui ruby-on-rails devise

7
推荐指数
1
解决办法
2011
查看次数