相关疑难解决方法(0)

Heroku/devise - 缺少链接的主机!请提供:host参数或设置default_url_options [:host]

我想在heroku上推送我的应用程序.我还在开发中.我使用了可确认模块的设计.

当我尝试使用heroku控制台添加用户时出现此错误:

Missing host to link to! Please provide :host parameter or set default_url_options[:host]
Run Code Online (Sandbox Code Playgroud)

在测试和开发环境中,我有以下行:

environment/development.rb和environments/test.rb

config.action_mailer.default_url_options = { :host => 'localhost:3000' }
Run Code Online (Sandbox Code Playgroud)

我没有在生产环境中设置一些东西.

我试过推

config.action_mailer.default_url_options = { :host => 'mywebsitename.com' }
config.action_mailer.default_url_options = { :host => 'heroku.mywebsitename.com' }
Run Code Online (Sandbox Code Playgroud)

但它也不起作用..

我在网上看到它可能与ActionMailer有关,但我不知道我要配置什么.非常感谢你的想法!

编辑:

嗨,

为了在我推动heroku时不让我的应用程序崩溃,我把它放在我的env/test.rb和我的env/dev.rb(不在env.rb中,我认为这是因为它是rails 3应用程序)

config.action_mailer.default_url_options = { :host => 'yourapp.heroku.com' }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在heroku控制台中创建用户时:

User.create(:username => "test", :email => "test@test.com", :password => "test1234", :password_confirmation => "test1234", :confirmed_at => "2010-11-03 14:11:15.520128")
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

ActionView::Template::Error: Missing host to link to! Please provide :host parameter …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails actionmailer heroku devise

176
推荐指数
6
解决办法
9万
查看次数

缺少主机链接!请提供:host参数,设置default_url_options [:host],或将:only_path设置为true

我正在阅读Rails 4 in Action.我在使用Rspec和Capybara进行测试时遇到了上述错误.我的viewing_projects_spec.rb看起来像这样:

require 'spec_helper'

feature "Viewing projects" do
  scenario "Listing all projectcs" do
    project = FactoryGirl.create(:project, name: "TextMate 2")
    visit '/'
    click_link 'TextMate 2'
    expect(page.current_url).to eql(project_url(project))
  end
end
Run Code Online (Sandbox Code Playgroud)

其余的错误说Failure/Error: expect(page.current_url).to eql(project_url(project)).

我做了一些谷歌搜索,人们说将以下内容放在config/environments/development.rb中:

Rails.application.routes.default_url_options[:host] = 'localhost:3000'
Run Code Online (Sandbox Code Playgroud)

不幸的是,这没有任何作用.

capybara rspec2 ruby-on-rails-3

5
推荐指数
1
解决办法
7581
查看次数