未定义的方法“protect_against_forgery?”对于 #<#<类:0x0

2023-11-22

我的routes.rb 文件中有以下代码。

resources :users  do
  member do
    get :following,:followers
  end
  collection do
    put :activate_email
  end
 end

我有一个用户电子邮件激活链接,如下所示:

<%= link_to "Activate",activate_email_users_url(email_token: @user.email_token),method: :put  %>

当我点击激活链接时,这是生成的网址

 http://localhost:3000/users/activate_email?email_token=WWNvMN-r_lXgovrQiDlSSQ

更新:好的,所以我想我知道问题是什么。当我查看 gmail 中包含 link_to 的激活电子邮件的 html 源时,没有


data-method='put'  
. So that seems to be the problem . It is always sending a default GET request instead of PUT. This is my user_mailer/registration_confirmation.html.erb file
  <%= javascript_include_tag "application" %>
</head>

请点击以下链接激活您的电子邮件

这会产生以下错误:


undefined method `protect_against_forgery?' for #

所以,代码

is causing this error. Is there any way around this ?

抱歉,我不知道您的目的,但显然您有激活用户的目的。 尝试一下,如果此解决方案不起作用,请告诉我您在控制器上的操作(activate_email)!

see on rake routes输出 :

activate_email_users PUT /users/activate_email(.:format) users#activate_email user GET /users/:id(.:format) users#show

当你生成

http://localhost:3000/users/activate_email?email_token=WWNvMN-r_lXgovrQiDlSSQ

你的问题是activate_email被认为是:id

users/activate_email => users/:id

以及您问题的解决方案:

尝试删除method从链接。最好指定method在你的路线文件中。如何通过将路由替换为匹配:

resources :users  do
  member do
    get :following,:followers
  end
end
put "/users/activate_email/:email_token" => "users#activate_email", :as => "activate"

并在视图中

<%= link_to "Activate", activate_path(:email_token => @user.email_token)  %>

我还没有测试过这个,但我想这就足够了。

UPDATE

对于问题:未定义的方法“protect_against_forgery?”

将其添加到只有您的邮件程序模板使用的帮助程序中:

 def protect_against_forgery?
      false
 end

NOTE:如果您有新问题,请创建新的“提问”并批准答案对此问题有用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未定义的方法“protect_against_forgery?”对于 #<#<类:0x0 的相关文章

随机推荐

  • 如何在我的页面操作弹出窗口中获取当前打开的选项卡的 URL?

    我想创建一个扩展来自动登录我的服务器 因此 我创建了一个后台页面来检查当前 URL 如果它符合我的 URL 正则表达式 我将显示页面操作图标 单击页面操作后 我将打开一个包含一些字段的弹出窗口 我需要获取当前打开的 URL 并将其填充到弹出
  • C++ CSV 解析(引号内包含逗号)

    我正在构建一个 C CSV 数据解析器 我正在尝试访问文件的第一列和第十五列 并使用以下命令将它们读入两个数组getline命令 例如 for int j 0 j
  • php pdo准备重复变量

    在编写pdo语句时 是否可以重复变量的值 我是说 query UPDATE users SET firstname name WHERE firstname name stmt dbh gt prepare query stmt gt ex
  • Spring/Hibernate 异常:createCriteria 在没有活动事务的情况下无效

    我花了几天时间研究 spring hibernate transaction 问题 我使用 jaxws spring hibernate 创建一个简单的 web 服务 它工作正常 但是当我调用使用事务 bean spring 的 web 方
  • spring boot 2 + feign + eureka 客户端不会将服务名称解析为 URL

    我正在尝试使用 spring cloud Finchley SR1 来启动 spring boot 2 0 5 并尝试使用 Eureka 作为发现服务器和 Feign Ribbon 作为客户端来设置两个服务之间的通信 设置非常简单 尽管我尝
  • 遍历一个c#方法并分析方法体

    在 C 中遍历 methodinfo 最简单的方法是什么 我想遍历方法体并查找字段引用等并检索类型 在 System Reflection 中有 mi GetMethodBody GetILAsByteArray 这有点低级 在我能够遍历身
  • 为什么 HttpWebResponse 上没有 Dispose 方法

    HttpWebReponse实施IDisposable界面 但是为什么没有Dispose方法 它只包含Close方法 将using这门课还可以使用模式吗 HttpWeb响应实施明确的 IDisposable 接口 所以你可以打电话Dispo
  • 我的 WPF 自定义控件 Datacontext 正在取代父控件

    在我的主窗口中 我尝试绑定到bool 但它正在寻找我的自定义控件DataContext反而 如果我不分配DataContext在用户控件中 则主窗口的绑定可以工作 但是 显然 这会阻止用户控件中的绑定 这是错误 System Windows
  • 将图像置于 div 中居中?

    我在 div 中有一个像这样的图像 div img div 图像是动态的 没有固定的大小 div 的大小200px by 200px 图像尺寸事先未知 如果图像的大小大于190px by 190px 将其设置为190px by 190px
  • 无法加载类型“System.Web.Mvc.ViewUserControl

    我正在尝试将 ASP NET MVC 2 项目 VS2010 部署到 Win Server 2008 R2 它在开发机器上完美运行 但是在Server 2008 R2上出现了奇怪的错误 当 ascx 文件具有使用泛型类型的标头时 服务器报告
  • QString 到 char* 的转换

    我试图通过以下方法将 QString 转换为 char 类型 但它们似乎不起作用 QLineEdit line new QLineEdit just to describe what is line here QString temp li
  • 将字符串列表转换为空格分隔的字符串

    我使用下划线来表示未知单词的长度 如何只打印下划线而不使用代表列表的括号 基本上 如果我有一个表格列表 我想打印下划线而不用列表语法将它们打印为 这对你有用吗 gt gt gt my dashes gt gt gt print join m
  • 拖动视图时设置自定义锚点

    我正在使用 Android Drag Drop API 并尝试将拖动阴影的锚点设置为触摸发生的点View 默认行为是将锚点放在中间View 我做了一些研究 看来这可以通过覆盖来完成onProvideShadowMetrics Point s
  • 如何创建精灵图像

    我正在尝试创建一个非常基本的精灵图像 首先 我有一个现有的图像 宽度 100px 高度 100px 我将循环浏览该图像 10 到 100 次 每次都将其放置在前一个图像旁边的精灵上 精灵的宽度限制为 3000 像素 将图像彼此相邻放置很好
  • Android 日期选择器材质风格

    我已经在我的片段上实现了日期选择器 这是代码 edittext from setOnClickListener new OnClickListener Override public void onClick View view final
  • 我如何通过 googledrive api 从 googledrive 获取多个文件?

    我想知道如何从谷歌驱动器获取多个文件 我在参考文献中搜索了此内容 但没有找到此信息 我正在构建一个 Web 应用程序 它将与驱动器通信并检索要下载的 zip 文件的链接 文件的 Zip 我正在使用 php 和 api v2 目前 Drive
  • HTML5 音频元素在 IE10 中不起作用,但在 Chrome 中起作用。为什么?

    HTML5 音频在 IE10 中不起作用 但在 Chrome 中起作用 任何想法 使用的 HTML 如下 Win8或RT上的IE10不支持wav 但是 IE10 Mobile支持 我附上了屏幕截图 以便您可以了解 IE10 都支持哪些格式
  • Rails:在数据库中存储二进制文件[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 使用Rails 是否有理由将附件 可以是任何时间的文件 存储在文件系统中而不是数据库中 数据库对我来说似乎更简单 无需担心文件系统路径 结构等 您只需查看 blob 字段即可 但大多数人似
  • 执行图像减法时退出代码 139

    我正在使用 python 执行图像减法 我有 numpy 数组形式的图像 包含所有图像的列表的大小为1000 列表中的每个numpy数组都是360 640类型 当帧数在 300 左右时 帧减法是正确的 def find der frames
  • 未定义的方法“protect_against_forgery?”对于 #<#<类:0x0

    我的routes rb 文件中有以下代码 resources users do member do get following followers end collection do put activate email end end 我