2012-05-22 79 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