问题 如何让Capybara使用路由助手


我正在使用rails 3,Steak&Capybara。我有宁静的资源,是否可以使用路由助手可用于视图和控制器?


2381
2017-12-10 18:12


起源

可能重复 Rspec和命名路由 - Cyril Duchon-Doris


答案:


你只需将它放在你的spec_helper.rb上

config.include Rails.application.routes.url_helpers

在配置定义块内部,即包装的块:

RSpec.configure do |config|
# All your config.include calls go here.
end

然后您可以在功能规格上使用它:

scenario "Show school" do
school = School.create!(:name => "Pablo de Olavide")
visit(school_path(school))
save_and_open_page
page.has_content?("Pablo de Olavide").should == true
end

不使用:

include ActionController::UrlWrite

因为它在rails 3中被弃用了


14
2017-12-10 18:44





我将其更改为此以使其与Rails 4.1.6一起使用:

config.include Rails.application.routes.url_helpers if defined? Rails

0
2018-04-13 09:29



你可以把它放进去 rails_helper.rb 没有条件的。 - Jim Stewart