ruby-on-rails - 未定义的方法“protect_against_forgery?” 对于#<#
我正在努力解决,我认为这是一个简单的问题。我正在创建一个注册表单,您可以在其中创建帐户和用户(一个帐户可以有多个用户)。但是,在加载 new.html.erb 视图时,我收到以下错误:
undefined method `protect_against_forgery?' for #<#<Class:0x00>
问题描述
我正在努力解决,我认为这是一个简单的问题。我正在创建一个注册表单,您可以在其中创建帐户和用户(一个帐户可以有多个用户)。但是,在加载 new.html.erb 视图时,我收到以下错误:
undefined method `protect_against_forgery?' for #<#<Class:0x00>
account_controller.rb 看起来像这样:
class AccountController < ApplicationController
def new
@account = Account.new
@account.users.build
end
end
和观点:
<h2>Create account</h2>
<%= form_with model: @account, url: :new_account do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<h4><%= f.label :name, 'Account Name' %></h4>
<%= f.text_field :name, :required => true, :placeholder => 'Your account name' %>
<%= f.fields_for :users do |user_form| %>
<h4><%= user_form.label :name %></h4>
<%= user_form.text_field :name, :autofocus => true, :required => true, :placeholder => 'Your name' %>
<h4><%= user_form.label :email %></h4>
<%= user_form.email_field :email, :required => true, :placeholder => 'Your email' %>
<h4><%= user_form.label :password, :required => true %></h4>
<%= user_form.password_field :password, :required => true, :placeholder => 'Enter a 8 character password'%>
<h4><%= user_form.label :password_confirmation, :required => true %></h4>
<%= user_form.password_field :password_confirmation, :required => true, :placeholder => 'Confirm password' %>
<div class="remember-me">
<%= f.check_box :terms_and_conditions %>
<%= link_to 'Accept terms and conditions', 'todo', :target => '_blank' %>
</div>
<% end %>
<input type="submit" class="btn" value="Create account" />
<% end %>
我找不到任何其他有完全相同问题的人(最近的一个是邮件模板问题,但找不到连接)。
希望有人能引导我朝着正确的方向前进,因为我对此视而不见。
从非 Azure SQL 数据库恢复备份
我们在 Azure 上有数据库,我们已经成功地从以前的服务器复制了架构。现在我们要通过它恢复数据。脚本太长了,我们无法在控制台中运行它,也无法在控制台中的管理工作室中运行它,我们无法找到通过上传转储文件来恢复数据库备份的任何选项。
解决方案
我在@vise 的帮助下发现了错误。我不知何故将该项目创建为 API 项目,并且在我的 application_controller.rb 中它继承自 API 而不是 Base。
我改变了这个并添加了:
protect_from_forgery with: :exception
它奏效了。谢谢您的帮助!
推荐阅读
- python - 如何解决 pyodbc.OperationalError: ('HYT00', u'[HYT00] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0)
- full-text-search - Redisearch:提升查询短语匹配
- amazon-web-services - 隐藏通过对 EC2 上运行的服务的休息调用发送的密码的最佳做法是什么
- python - 如何以编程方式关闭 dumpmaster (mitmproxy)?
- html - 当我从 IE5 模拟到 IE7 或更高版本的 Web 应用程序时,为什么我的 offsetheight 和 offsetwidth 值会有所不同?
- roku - 如何在brightscript中获得互联网速度
- python - 如何使用环境变量覆盖python配置
- java - Web 元素之间的等待时间 [Webdriverwait Selenium]
- html - 我必须设置打印布局。材料超出 A4 页
- javascript - 带 foreach 的循环插入
我正在努力解决,我认为这是一个简单的问题。我正在创建一个注册表单,您可以在其中创建帐户和用户(一个帐户可以有多个用户)。但是,在加载 new.html.erb 视图时,我收到以下错误:
undefined method `protect_against_forgery?' for #<#<Class:0x00>
问题描述
我正在努力解决,我认为这是一个简单的问题。我正在创建一个注册表单,您可以在其中创建帐户和用户(一个帐户可以有多个用户)。但是,在加载 new.html.erb 视图时,我收到以下错误:
undefined method `protect_against_forgery?' for #<#<Class:0x00>
account_controller.rb 看起来像这样:
class AccountController < ApplicationController
def new
@account = Account.new
@account.users.build
end
end
和观点:
<h2>Create account</h2>
<%= form_with model: @account, url: :new_account do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<h4><%= f.label :name, 'Account Name' %></h4>
<%= f.text_field :name, :required => true, :placeholder => 'Your account name' %>
<%= f.fields_for :users do |user_form| %>
<h4><%= user_form.label :name %></h4>
<%= user_form.text_field :name, :autofocus => true, :required => true, :placeholder => 'Your name' %>
<h4><%= user_form.label :email %></h4>
<%= user_form.email_field :email, :required => true, :placeholder => 'Your email' %>
<h4><%= user_form.label :password, :required => true %></h4>
<%= user_form.password_field :password, :required => true, :placeholder => 'Enter a 8 character password'%>
<h4><%= user_form.label :password_confirmation, :required => true %></h4>
<%= user_form.password_field :password_confirmation, :required => true, :placeholder => 'Confirm password' %>
<div class="remember-me">
<%= f.check_box :terms_and_conditions %>
<%= link_to 'Accept terms and conditions', 'todo', :target => '_blank' %>
</div>
<% end %>
<input type="submit" class="btn" value="Create account" />
<% end %>
我找不到任何其他有完全相同问题的人(最近的一个是邮件模板问题,但找不到连接)。
希望有人能引导我朝着正确的方向前进,因为我对此视而不见。
从非 Azure SQL 数据库恢复备份
我们在 Azure 上有数据库,我们已经成功地从以前的服务器复制了架构。现在我们要通过它恢复数据。脚本太长了,我们无法在控制台中运行它,也无法在控制台中的管理工作室中运行它,我们无法找到通过上传转储文件来恢复数据库备份的任何选项。
解决方案
我在@vise 的帮助下发现了错误。我不知何故将该项目创建为 API 项目,并且在我的 application_controller.rb 中它继承自 API 而不是 Base。
我改变了这个并添加了:
protect_from_forgery with: :exception
它奏效了。谢谢您的帮助!
推荐阅读
- python - 如何解决 pyodbc.OperationalError: ('HYT00', u'[HYT00] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0)
- full-text-search - Redisearch:提升查询短语匹配
- amazon-web-services - 隐藏通过对 EC2 上运行的服务的休息调用发送的密码的最佳做法是什么
- python - 如何以编程方式关闭 dumpmaster (mitmproxy)?
- html - 当我从 IE5 模拟到 IE7 或更高版本的 Web 应用程序时,为什么我的 offsetheight 和 offsetwidth 值会有所不同?
- roku - 如何在brightscript中获得互联网速度
- python - 如何使用环境变量覆盖python配置
- java - Web 元素之间的等待时间 [Webdriverwait Selenium]
- html - 我必须设置打印布局。材料超出 A4 页
- javascript - 带 foreach 的循环插入