How to solve NameError: undefined local variable or method `user'

I am using Ruby 1.9.3 and Rails 3.2.16.

When I run test suite: bundle exec rspec spec/

I get following error:

1) Authentication authorization in the Users controller visiting the following page      Failure/Error: before { visit following_user_path(user) }      NameError:        undefined local variable or method `user' for #<RSpec::Core::ExampleGroup::Nested_7::Nested_3::Nested_3::Nested_2:0x00000006402418>      # ./spec/requests/authentication_pages_spec.rb:93:in `block (5 levels) in <top (required)>'

  2) Authentication authorization in the Users controller visiting the followers page      Failure/Error: before { visit followers_user_path(user) }      NameError:        undefined local variable or method `user' for #<RSpec::Core::ExampleGroup::Nested_7::Nested_3::Nested_3::Nested_3:0x0000000640c2b0>      # ./spec/requests/authentication_pages_spec.rb:98:in `block (5 levels) in <top (required)>'

I attach authentication_pages_spec.rb file.

Please find it.

How can I solve this error?

Kind regards.

Attachments: http://www.ruby-forum.com/attachment/9766/authentication_pages_spec.rb

You haven’t assigned anything to the “user” variable used at line 93 inside the method call “following_user_path”

You coudl try to create an user using factory girl, inside your current scope, perhaps using:

let(:user) { FactoryGirl.create(:user) }

Anyway, I strongly recommend that you refactor this spec in order to make it DRY and use context blocks in advance of so many describe blocks.

Antônio Augusto Sousa Britto wrote in post #1148726:

You haven't assigned anything to the "user" variable used at line 93 inside the method call "following_user_path"

You coudl try to create an user using factory girl, inside your current scope, perhaps using: let(:user) { FactoryGirl.create(:user) }

Anyway, I strongly recommend that you refactor this spec in order to make it DRY and use context blocks in advance of so many describe blocks.

I use following code

before { visitfollowing_user_path(FactoryGirl.create(:user)) }

in place of

before { visit following_user_path(user) } at line 93.

Now test is pass.

Is right way? can I move further in that chapter to implement sample_app?

Kind regards.