我第一次尝试黄瓜,我遇到了一个问题。我尝试使用RyanB 的漂亮身份验证生成器,但在运行 Cucumber 功能时似乎无法使用辅助方法。
我的部分功能给我带来了问题:
when I am on the new book page # features/step_definitions/web_steps.rb:18
undefined local variable or method `current_user' for #<Cucumber::Rails::World:0x13a3b2a> (NameError)
./features/support/paths.rb:15:in `path_to'
./features/step_definitions/web_steps.rb:19:in `/^(?:|I )am on (.+)$/'
features/user_story.feature:30:in `When I am on the new book page'
支持/paths.rb:
when /the new book page/
user_path(current_user)+'/books/new'
路线.rb:
resources :users do
resources :books
end
为我提供身份验证帮助方法(如 current_user)的代码位于我的 lib/ 文件夹中。我试过了:
require "#{Rails.root}/lib/authentication"
在我的 env.rb 中,但这似乎没有任何作用。那么我应该在这里做什么呢?我觉得应该有一个简单的解决方案,但这只是我的头脑。
额外信息
宝石环境:
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.6
- RUBY VERSION: 1.9.2 (2010-03-04 patchlevel -1) [i386-darwin9.8.0]
- INSTALLATION DIRECTORY: /Users/ekoslow/.rvm/gems/ruby-1.9.2-head%rails3beta
- RUBY EXECUTABLE: /Users/ekoslow/.rvm/rubies/ruby-1.9.2-head/bin/ruby
- EXECUTABLE DIRECTORY: /Users/ekoslow/.rvm/gems/ruby-1.9.2-head%rails3beta/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-9
- GEM PATHS:
- /Users/ekoslow/.rvm/gems/ruby-1.9.2-head%rails3beta
- /Users/ekoslow/.rvm/gems/ruby-1.9.2-head%global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--no-ri --no-rdoc"
- :sources => ["http://gems.rubyforge.org", "http://gems.github.com"]
- REMOTE SOURCES:
- http://gems.rubyforge.org
- http://gems.github.com
我正在运行 Rails 3.0.0.beta,但我认为这与这种情况下没有任何关系。