【问题标题】:cannot access rails request object in devise templates无法访问设计模板中的 Rails 请求对象
【发布时间】:2017-08-16 13:13:19
【问题描述】:

我在 passwords_controller 中设置@application_url 并在/app/views/devise/mailer/reset_password_instructions.html.erb 模板中将其值设置为nil。 我什至无法直接在此模板中访问 rails request 对象。我不知道怎么了。请帮忙。

class PasswordsController < Devise::PasswordsController

  def create
    @application_url = request.host_with_port
    super
  end

end

【问题讨论】:

  • 如果我没记错的话,您还需要使用devise_for 将控制器指向路由文件。你这样做吗?另外,在上面添加 Rails.logger.info("Came here") 以查看该行是否已记录以及此方法是否实际被兑现。
  • 已经将我的passwords_controller 映射到设计passwords_controller,在create action 中添加一个byebug,它会卡在那里。
  • 你能告诉我们必要的服务器日志吗?

标签: ruby-on-rails ruby ruby-on-rails-4 devise


【解决方案1】:

确保您已为设计设置路由文件,并在 passwords_controller.rb 中放置一个 byebug 或任何记录器语句,以检查您的自定义 passwords_controller.rb 是否正在被访问。

devise_for :consumers, controllers: {passwords: "passwords"}

【讨论】:

  • 我正在提交密码重置表单。
  • 好的,很抱歉造成混乱。我现在明白了。您是否通过放置记录器检查是否可以访问创建操作?
猜你喜欢
  • 2012-07-02
  • 1970-01-01
  • 2014-07-20
  • 1970-01-01
  • 2017-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多