【问题标题】:How to get url_for an object in Model method in Rails如何在 Rails 的模型方法中获取 url_for 对象
【发布时间】:2012-02-01 03:54:26
【问题描述】:

我想在 Rails 中创建一个包含对象路径的字符串。

  def notification_content   
      "#{app.listing_url(my_listing, :host => "example.com")}. " +
  end

然后,此内容将作为电子邮件内容输入我的 ActionMailer。

在控制台中,它工作正常。但是,当我在 localhost 服务器上运行它时,出现以下错误:

undefined local variable or method `app'

我应该怎么做?另外,如何使路径成为超链接?

非常感谢。

【问题讨论】:

    标签: ruby-on-rails url actionmailer


    【解决方案1】:
    include Rails.application.routes.url_helpers
    def notification_content   
      "#{listing_url(my_listing, :host => "example.com")}. " + ...
    end
    

    【讨论】:

    • 不需要包含;您可以直接调用该对象:Rails.application.routes.url_helpers.url_for(...)
    • 这在 Rails 5 中不适用于将来访问这里的人。
    【解决方案2】:

    (来自 cmets,感谢 Edward Anderson


    在 url_for 前面加上:

    Rails.application.routes.url_helpers.*url_for(...)*
    

    【讨论】:

      猜你喜欢
      • 2013-01-07
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      相关资源
      最近更新 更多