2012-05-22 48 views
2

我正在使用Rails 3.2,RailsAdmin 0.0.3,Rspec和Capybara。从Rspec文件访问rails_admin url助手

我试图从我的spec文件中调用RailsAdmin url助手,如RailsAdmin wiki中所述。 rails_admin.new_path(:model_name => :user)

当我使用助手从控制器或它的工作原理很好的一个观点,即方式,但试图从规范文件中使用它时,它给出了这样的错误:

undefined local variable or method `rails_admin' for #RSpec::Core::ExampleGroup::Nested_2:0xbe04948>

我想我要补充东西到我的spec_helper.rb文件为了加载rails_admin。但谷歌google搜索一段时间后,期待着rails_admin宝石的spec_helper,我不知道什么...

任何帮助将apreciated!

回答

7

我发现它在rails_admin的spec_helper.rb

将以下代码包含到spec_helper.rb中。

RSpec.configure do |config| 
    ... 
    config.include RailsAdmin::Engine.routes.url_helpers 
end 

我使用调试器进行测试。它可以被称为

> new_path(:model_name => :user) 
=> "/admin/user/new" 
+0

好像'config.include RailsAdmin :: Engine.routes.url_helpers'崩溃了我的非管理页面测试。有没有办法在每个测试类的基础上插入RailsAdmin url助手? – divideByZero

0

我加入这行到需要rails_admin网址,个别规格和它让我引用在之前文章中提到的方法,但没有与我非管理员网址干扰。

include RailsAdmin::Engine.routes.url_helpers 

在规格范围内方法的实施例

index_path(:model_name => :client) 

我使用的Rails 5.0,Rspec的3.5和水豚2.10.1