我需要使用lib文件夹中文件中定义的方法的root_url方法.那可能吗?
我试着把这一行包括在我的课上:
include Rails.application.routes.url_helpers
但这给我错误
Missing host to link to! Please provide :host parameter or set default_url_options[:host]
编辑:我发现如果我首先初始化路由,它是有效的:
def initialize_routes if Rails.env.development? || Rails.env.test? Rails.application.routes.default_url_options[:host] = 'localhost:3000' elsif Rails.env.production? Rails.application.routes.default_url_options[:host] = 'example.com' end end
解决方法
应该有几个解决方案.
1)当在主机参数中使用root_url pass时,如下所示:
root_url(:host => 'localhost')
然而,这需要做出具体的环境.
2)您也可以设置路由default_url_options,如:
Rails.application.routes.default_url_options[:host]= 'localhost:3000'
3)在您的环境配置文件中,您应该按照错误中的说明设置default_url_options.例如:
在config / environments / development.rb中:
config.action_mailer.default_url_options[:host] = 'localhost'
在config / environments / test.rb中:
config.action_mailer.default_url_options[:host] = 'localhost'
在config / environments / production.rb中:
config.action_mailer.default_url_options[:host] = 'production.com'
原文地址:https://www.jb51.cc/ruby/273691.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。