- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在教程(第 4 版,针对 Rails 5)中,我来到了第 12 章。
如果忘记密码,可以重置密码。我检查并仔细检查了我的代码,并将其与 Michael 在 Bitbucket 中的文件进行了比较:https://bitbucket.org/railstutorial/sample_app_4th_ed/src/6c255b27f7c7935dd9b04f28d3a249af8618242f/?at=password-reset
发生什么了?发送密码重置电子邮件后(没有问题,afaik),文本显示“按照代码 list 12.11 中的链接应该呈现密码重置表单。结果显示在图 12.11 中。”
但是,重置表单没有出现;相反,我立即被重定向到根目录,没有消息或错误。
我发现之前问过一个类似的问题,但无法弄清楚解决方案是什么;在哪里寻找错误?
我仍然可以被认为是一个新手,不幸的是,我不知道如何解决这个问题......
感谢您的帮助,广告
答案很有帮助,但对我的帮助还不够;我将编辑更多信息:(在 $ rails console
中)我输入:>> User.find_by(email: "example@railstutorial.org")
User Load (1.4ms) SELECT "users".* FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "example@railstutorial.org"], ["LIMIT", 1]]
=> #<User id: 1, name: "Example User", email: "example@railstutorial.org", created_at: "2016-07-28 22:52:07", updated_at: "2016-08-03 16:51:52", password_digest: "$2a$10$IFxi0SPvA/I4rY53g.PrF.Ihxgb9.KtZpC2jcjWLgqk...", remember_digest: nil, admin: true, activation_digest: "$2a$10$J49AUluY8tSVExQBeDeCoO3U8bCHgNEgNjMyVtFmzT6...", activated: true, activated_at: "2016-07-28 22:52:06", reset_digest: "$2a$10$GGExFYbJIqhqSZq.Nc7hUeJhnbTRmtPjsAd89K99X8L...", reset_sent_at: "2016-08-03 16:51:52">
您会看到此“示例用户”已激活,并且发送了重置。
因此,“问题”(或挑战)在于已验证的?(属性, token )方法;这不是很明显吗?
我怎样才能研究这种方法的“内部运作”?对于我这个新手来说,我很困惑如何做到这一点。pry
对我来说是新的;直到现在,Hartl 的教程都没有提到这一点。我见过的唯一可能的选择是 debugger
.那可以用吗?
另一个问题,关于 :reset
这究竟是什么?一个符号?但是这个符号代表什么?它是指内置的方法、变量吗?
我在想,也许更多的调试信息可以放在屏幕上?例如,在 app/views/layouts/application.html.erb
如果有这一行:<%= debug(params) if Rails.env.development? %>
可以增强吗?
更新:当我注释掉最后一行时,我发现图 12.11 中的屏幕确实出现了:redirect_to root_url
最佳答案
在 app/controllers/passwords_resets_controller.rb 注意到有几个 before_action
调用编辑操作。其中之一是...
before_action :valid_user, only: [:edit, :update]
def valid_user
unless (@user && @user.activated? &&
@user.authenticated?(:reset, params[:id]))
redirect_to root_url
end
end
redirect_to root_url
正是您遇到的问题,所以一定是 (a) 没有
@user
找到,或 (b)
@user.activated?
不正确或 (c)
@user.authenticated?(:reset, params[:id])
不是真的。
pry
来做到这一点(我不知道 Hartl 教程是否涵盖
pry
)或者您可能想要设置一些 Rails.logger.info 行来检查变量。
关于ruby-on-rails - Michael Hartl 的 Rails 教程 : Figure 12. 11:密码重置表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38754165/
我正在尝试理解/运行 Michael Neilsen 的神经网络和深度学习第 2 章中关于反向传播的代码:http://neuralnetworksanddeeplearning.com/chap2.
我正在尝试建立一个学习 mnist 数字的网络,正如 Michael Nielsen 在他的书 (http://neuralnetworksanddeeplearning.com/chap1.html
这是我在使用 bundle exec rspec spec/requests/static_pages_spec.rb 时遇到的错误。 我已经包含了 gem 测试单元。 请帮助我,我是 Rails 的
我正在研究 Michael & Scott 的无锁队列算法,并尝试用 C++ 实现它。 但是我在代码中产生了竞争,并且认为算法中可能存在竞争。 我在这里阅读了这篇论文: Simple, Fast, a
我在尝试实现 Hartl 的 Ruby on Rails 教程中的示例应用程序时遇到了一个奇怪的问题。 当我删除微博时,会发生以下情况: 微博被删除。 用户也会被删除。 定向至“注册”页面。 只应该发
我尝试使用 Google 网站管理员工具重新抓取网站,但没有成功。 有谁知道为什么 Google 上的链接可能会显示“halalgems.com”,但会重定向到另一个网站? 描述也不正确。 最佳答案
阅读 Hartl 的教程,地址为 list 10.42 在 microposts Controller 中,我们有 def create @micropost = current_user
我已经完成了本教程,但自第 7 节制作注册表单以来,我在 CSS 渲染方面遇到了一些小问题。这就是我得到的: 它应该是这样的: 这是相关的 CSS: @mixin box_sizing { -mo
我正在关注 Michael Hartl 教程并在 Listing 10.14 之后,他说 There is one subtlety, though: on failed micropost subm
我正在写关于我在完成 Michael Hartl 的 Ruby on Rails 教程时遇到的问题。问题是 css 不会更改用于密码确认的输入字段的外观。所有其他输入字段的外观都受 css 规则的影响
我正在编写 Michael Hartl 的教程。我在第 6 章。我要进行用户验证。下面的代码是我被告知要使用的代码,但它不起作用。我收到错误消息 syntax error, unexpected en
我正在使用 libcds他们实现了 Michael Hash Map 和 Split order list。 根据我从文档中收集到的信息,我是如何实现它们的: 包括: #include #inclu
我正在学习 Michael Hartl 的 Ruby on Rails 教程,我在 third exercise of chapter 5 方面遇到了一些麻烦.我已经创建了 application_h
我没有从 Hartl 的 Rails 教程中得到以下练习的答案: By replacing the question marks in Listing 4.10 with the appropriat
我在第五章的最后做练习。我应该测试链接是否转到正确的页面。这是我的测试代码。 require 'spec_helper' describe "LayoutLinks" do it "shoul
我正在学习 Michael Hartl 的 Ruby On Rails 3 教程,并使用 Capybara 进行集成规范。到目前为止的集成规范如下 require 'spec_helper' desc
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
在本教程的第 10 章中,我正在更改微博的 CSS 以使其看起来不同。但是它们不会在我的本地服务器上更新。我尝试重新启动服务器并重置并重新填充数据库,但仍然没有成功。为什么会这样? 自定义 CSS 文
示例代码: assert_select 'div#' assert_select 'div.' 这会产生:弃用警告:由于无效的 css 选择器,断言未运行。 ] 16% 时间:00:00:01,预计到
我正在学习 Hartl 的 Ruby 教程。我在第5章的开头。 说明是通过 添加图像('rails.png') 主页:app/views/static_pages/home.html.e
我是一名优秀的程序员,十分优秀!