我想使用url_for
的主机设置development.rb
获取网址。但是不是这样,我得到www.example.com
,它没有在应用程序的目录中的任何位置设置。
Connecting to database specified by database.yml
MOPED: 127.0.0.1:27017 COMMAND database=admin command={:ismaster=>1} (0.5023ms)
Loading development environment (Rails 3.2.13)
[1] pry(main)> ActionMailer::Base.default_url_options
=> {:host=>"asd:3000"}
[2] pry(main)> app.posts_url
=> "http://www.example.com/posts"
[3] pry(main)>
有谁知道它的原因和来源?
答案 0 :(得分:2)
我相信这就是rails从控制台输出数据的方式。我自己测试了它,在控制台中我得到了相同的东西:
[1] pry(main)> app.projects_url
=> "http://www.example.com/projects"
在我的development.rb
文件中,我将主机指定为其他内容..
然而,在我的应用程序中,所有路径都会解析到正确的位置。
答案 1 :(得分:0)
您可以在ActionMailer下设置选项,因此它在控制台上下文中不起作用。
example.com只是Rails在空白时填空。
如果你想在development.rb中获取url(与控制台上下文相同),请在development.rb上添加它:
Rails.application.routes.default_url_options[:host] = "asd:3000"