>> Keep in mind that rspec-rails is a thin wrapper around the built-in Rails 
>> testing framework. The convention of relating a symbol in the spec to an 
>> instance variable in the view was established by Rails with the `assigns` 
>> method in functional tests (controller specs in rspec):
>> 
>> thing = Factory(:thing)
>> get :index
>> assigns(:thing).should eq(thing)
>> 
>> In the last line, `assigns(:thing)` refers to the `@thing` instance variable 
>> in the view.
>> 
>> HTH,
>> David
> 
> Hello David
> Thanks for that. Doesn't assign have 2 arguments with the first being the 
> variable to be assigned to and the second being the contents?

Yes, `assign`, in view specs, has two arguments. `assigns` (plural), in 
controller specs (and provided by Rails) takes only one. `assign` is a setter 
for a single instance variable, `assigns` is a getter which keys into a map of 
all assigned instance variables.

HTH,
David

PS - I had to move your post to the bottom and quote my own comments from the 
previous email to which you were responding. Please read 
http://idallen.com/topposting.html and make it easier for people to be helpful 
to you in a way that is understandable to everyone else.
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to