Rails 5 Capybara测试路由错误公共/资产

时间:2017-06-21 23:36:44

标签: routing capybara ruby-on-rails-5

我的问题是,在使用Capybara方法save_and_open_page进行调试时,我按照此tutorial尝试加载测试环境中的资源,但是我收到以下错误:

No route matches [GET] "/public/assets/application-22cc3ed14274a8cdae6670ce999946a627b5fd03c71819fbe4453118dca5ff40.css">

我在environments/test.rb中添加了以下参数以尝试使它们正常工作但我仍然遇到此错误。

config.assets.digest = true
config.assets.prefix = '../public/assets/'
config.assets.quiet = true
config.assets.precompile += %w( *.js *.css )
config.public_file_server.enabled = true

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

如果您已在测试环境中预编译了资产,那么您应该能够将Capybara.asset_host设置为任何地址,而不是关注该文章(3年前和已过期)您的开发或测试实例是 - 像

Capybara.asset_host = 'http://127.0.0.1:3000'

这将在保存和打开页面时将其添加到文档中的基本标记中。

答案 1 :(得分:0)

我在test.rb改变了这个问题并且工作了:

config.assets.prefix = '../public/assets/'

config.assets.prefix = ''