3

我正在使用 Rails 3.2、RailsAdmin 0.0.3、Rspec 和 Capybara。

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

当我从控制器或视图中以这种方式使用帮助器时,它工作得很好,但是当尝试从规范文件中使用它时,它会出现此错误:

#RSpec::Core::ExampleGroup::Nested_2:0xbe04948 的未定义局部变量或方法“rails_admin”>

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

任何帮助将不胜感激!

4

2 回答 2

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"
于 2012-06-01T14:38:53.747 回答
0

我将此行添加到需要 rails_admin url 的各个规范中,它允许我参考之前帖子中提到的方法,但不会干扰我的非管理员 url。

include RailsAdmin::Engine.routes.url_helpers

规范中的方法示例

index_path(:model_name => :client)

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

于 2016-12-14T14:46:59.643 回答