【问题标题】:Rails 4 action_mailer hostRails 4 action_mailer 主机
【发布时间】:2014-07-22 02:32:02
【问题描述】:

对于 Rails 4,我在中使用 config.action_mailer.asset_host = "http://localhost:3000"

config > environments > development.rb

将资产加载到我的邮件中。

有比硬编码网址更好的价值吗?我想应该有一个,因为我不会在我的production.rb 中使用这个值。在 rails config 中查找当前主机 url 的代码是什么?

【问题讨论】:

    标签: ruby-on-rails ruby config


    【解决方案1】:

    如果部署到已知主机,可以直接放在production.rb中

    但如果你真的需要从 url 中读取它,那么你检查一下

    http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-original_url

    【讨论】:

    • 这在 Rails 4 中似乎已被弃用且不可用。使用 request.original_url 时出现无方法错误。
    【解决方案2】:

    如果您使用SendGrid,请在config/environment.rb 文件中指定您的ActionMailer 设置以指向SendGrid 的服务器。

    ActionMailer::Base.smtp_settings = {
      :user_name => 'your_sendgrid_username',
      :password => 'your_sendgrid_password',
      :domain => 'yourdomain.com',
      :address => 'smtp.sendgrid.net',
      :port => 587,
      :authentication => :plain,
      :enable_starttls_auto => true
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 2013-12-16
      • 2016-09-05
      • 2017-02-02
      • 2011-02-28
      • 1970-01-01
      相关资源
      最近更新 更多