- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Devise 的重置密码页面上实现 ajax。提交的电子邮件很好,但我无法显示任何 javascript 响应,并且还收到 ArgumentError (Nil locationprovided. Can't build URI.) 的错误。
这是我从终端得到的信息:
Devise::Mailer#reset_password_instructions: processed outbound mail in 18.7ms
Sent mail to iamkim@gmail.com (458.2ms)
Date: Mon, 20 Jun 2016 19:06:57 +0100
From: please-change-me-at-config-initializers-devise@example.com
Reply-To: please-change-me-at-config-initializers-devise@example.com
To: iamkim@gmail.com
Message-ID: <576830c194a0c_5843fd5f0e760c0987e9@iamkim.local.mail>
Subject: Reset password instructions
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
<p>Hello iamkim@gmail.com!</p>
<p>Someone has requested a link to change your password. You can do this through the link below.</p>
<p><a href="http://localhost:3000/users/password/edit?reset_password_token=6SuAqWSBnKiYZETDdaEJ">Change my password</a></p>
<p>If you didn't request this, please ignore this email.</p>
<p>Your password won't change until you access the link above and create a new one.</p>
Redirected to
Completed 500 Internal Server Error in 532ms (ActiveRecord: 31.6ms)
ArgumentError (Nil location provided. Can't build URI.):
actionpack (4.2.5.2) lib/action_dispatch/routing/polymorphic_routes.rb:200:in `polymorphic_method'
actionpack (4.2.5.2) lib/action_dispatch/routing/polymorphic_routes.rb:114:in `polymorphic_url'
actionpack (4.2.5.2) lib/action_dispatch/routing/url_for.rb:164:in `url_for'
actionpack (4.2.5.2) lib/action_controller/metal/redirecting.rb:95:in `_compute_redirect_to_location'
turbolinks (2.5.3) lib/turbolinks/xhr_headers.rb:21:in `_compute_redirect_to_location'
actionpack (4.2.5.2) lib/action_controller/metal/redirecting.rb:75:in `redirect_to'
actionpack (4.2.5.2) lib/action_controller/metal/flash.rb:57:in `redirect_to'
actionpack (4.2.5.2) lib/action_controller/metal/instrumentation.rb:64:in `block in redirect_to'
activesupport (4.2.5.2) lib/active_support/notifications.rb:164:in `block in instrument'
activesupport (4.2.5.2) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.2.5.2) lib/active_support/notifications.rb:164:in `instrument'
actionpack (4.2.5.2) lib/action_controller/metal/instrumentation.rb:63:in `redirect_to'
responders (2.1.2) lib/action_controller/responder.rb:145:in `redirect_to'
responders (2.1.2) lib/action_controller/responder.rb:205:in `navigation_behavior'
responders (2.1.2) lib/action_controller/responder.rb:172:in `rescue in to_html'
responders (2.1.2) lib/action_controller/responder.rb:170:in `to_html'
responders (2.1.2) lib/action_controller/responder.rb:163:in `respond'
responders (2.1.2) lib/action_controller/responder.rb:156:in `call'
responders (2.1.2) lib/action_controller/respond_with.rb:205:in `respond_with'
devise (3.5.6) app/controllers/devise/passwords_controller.rb:17:in `create'
这是我的代码:
app/views/passwords/new.html.erb
<div class="row row-centered">
<div class="col-md-5 col-centered">
<div class="panel panel-with-header__container col-min col-max">
<h3 class="panel-header panel-header-gray forgot_password_container">
Reset Password
</h3>
<div class="panel-body">
<p>
Enter the email address associated with your account, and we’ll email you a link to reset your password.
</p>
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }, remote: true) do |f| %>
<%= devise_error_messages! %>
<div class="field form-group">
<%= f.email_field :email, autofocus: true, class: "form-control decorative-input inspectletIgnore", placeholder: "Email address", required: "required" %>
</div>
<hr/>
<div class="actions">
<%= f.submit "Send Reset Link", class: "btn btn-primary" %>
</div>
<% end %>
</div>
</div>
</div>
</div>
app/controllers/passwords_controller.rb
class PasswordsController < Devise::PasswordsController
respond_to :js
def create
self.resource = resource_class.send_reset_password_instructions(resource_params)
respond_to do |format|
@message = ""
if successfully_sent?(resource)
@message = "success"
else
@message = "error"
end
format.html
format.js
end
end
def after_sending_reset_password_instructions_path_for(resource_params)
root_path
end
end
app/views/passwords/create.js.rb
<% if @message == "success" %>
alert('Success!');
<% else %>
alert('Something wrong!');
<% end %>
最佳答案
我可以通过将 devise.rb 中的导航格式更新为:
config.navigational_formats = ['*/*', :html, :js]
关于javascript - ArgumentError(提供了零位置。无法构建 URI。) - 通过 AJAX 设计重置密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37930248/
谁能帮我解决这个问题: ruby 2.7.3p183 情况是这样的,这个方法: def send_request(url, payload = {}, internal_proxy: true) ..
我在 Spyder 的 IPython 控制台中为 Anaconda 导航器使用 kivy 包。打开 Spyder 后,如果我使用 runfile(path, wdir=cwd),我的代码将毫无问题地
这是我的 ruby 代码: books = ["Charlie and the Chocolate Factory", "War and Peace", "Utopia", "A Brief Hist
Ruby 提示我没有为我的脚本提供足够的参数,即: #!/usr/bin/ruby require 'mail' def send(file,recipients_csv) reci
当我运行以下命令时,救援似乎因 ArgumentError 而被忽略。来自 Ruby 的 ArgumentError 错误消息出现在控制台上,但我的 puts 消息没有。我尝试使用 TypeError
我编写了一个基本的 Rails 3 应用程序,它在特定的 URL 上显示一个表单和一个上传表单。昨天一切正常,但现在我遇到了几个需要修复的问题。我会尽量描述每个问题。我将它们组合在一起的原因是因为我觉
与其让我的 Ruby 对象的构造函数提示给定的参数数量(在参数错误的情况下),不如让消息准确地列出预期的内容。 def initialize a, b, c begin @a = a
我有一个只有命名参数的方法很奇怪的行为。 class MyConsumer < ... def method1(params) method2(params.slice(:a,:b))
我是 ruby 编程的新手。这是我在 Watir 的第一个程序。当我执行下面的代码时,我得到 HTTP 请求路径为空 (ArgumentError)。感谢您帮助修复此错误。我正在通过代理设置访问互
我正在研究应该用作 CLI 的 Ruby gem效用。 我决定使用 Thor ,它由 rails 命令使用并且似乎非常灵活(关于与 rake 的区别:link)。 问题是我找不到如何处理输入错误。例如
当我调用 Exception#backtrace_locations 时,它通常会按预期返回一个数组: begin raise "foo" rescue => e p e.backtrace_
如果你想添加一个 argparse 没有提供的额外检查,例如: if variable a == b then c should be not None ...是否允许自己引发 ArgumentErr
我使用的是 ruby 2.1.5p273、Rails 4.2.3,但最近从更旧的版本进行了升级。 我在 Phone 模型的这一行收到“ArgumentError:参数数量错误(1 表示 0)”错误
dates = ["11/12/08 10:47", "11/12/08 13:23", "11/12/08 13:30", "11/25/08 19:21", "2/2/09 11
我在让这个简单的测试通过 RSpec 2.8 时遇到了问题。 我想编写一个简单的测试来检测需要参数的方法是否缺少参数(即 ArgumentError:参数数量错误('x' 代表 'y'))。 我的测试
创建了一个线程 here ,但这并不能解决我的问题。 我的代码是: course.rb class Course # returns a value to be able to use +inc
defmodule My do def go do x = nil if(not x) do IO.puts "hello" else IO.put
所以我刚刚升级到 FontAwesome 4.0。此更改的一部分是引用图标的方式。 你不能再做: . 现在...您必须替换 icon与 fa- , 所以上面现在看起来像这样: 所以我灵机一动,决定替
我是 RoR 的新手,虽然我在 StackOverflow 和 Google 上进行了大量搜索,但我似乎无法解决这个问题。 在我的 Controller 中,我有以下代码来初始化@coupon_cat
我有一个简单的模型 class Task :deadline_in_future? def deadline_in_future? Date.today Task.new Argume
我是一名优秀的程序员,十分优秀!