从Rspec文件访问rails_admin url帮助程序

时间:2012-05-22 12:01:24

标签: capybara rspec2 ruby-on-rails-3.2 rails-admin

我使用的是Rails 3.2,RailsAdmin 0.0.3,Rspec和Capybara。

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

当我从控制器或视图中使用帮助程序时它工作得很好但是当试图从spec文件中使用它时会出现这个错误:

  

未定义的局部变量或方法`rails_admin'用于#RSpec :: Core :: ExampleGroup :: Nested_2:0xbe04948>

我想我必须在spec_helper.rb文件中添加一些内容才能加载rails_admin。但谷歌搜索了一段时间后,并期待着rails_admin gem的spec_helper,我无法弄清楚是什么......

任何帮助都会被贬低!

2 个答案:

答案 0 :(得分: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"

答案 1 :(得分:0)

我将此行添加到需要rails_admin网址的个别规范中,并允许我引用之前帖子中提到的方法,但不会干扰我的非管理员网址。

include RailsAdmin::Engine.routes.url_helpers

规范中的方法示例

index_path(:model_name => :client)

我正在使用Rails 5.0,Rspec 3.5和Capybara 2.10.1