[rspec-users] "assign" to variable in view seems to give nil object
mulder.patrick at gmail.com
Thu Sep 30 17:24:20 EDT 2010
You are right, there could be a clash of versions.
Now, "assigns" gives:
index_spec.rb:6: undefined local variable or method `assigns' for
Maybe I shall start with another clean rails project?
Thanks for your help,
On 30 Sep., 14:12, David Chelimsky <dchelim... at gmail.com> wrote:
> On Sep 29, 2010, at 2:56 PM, poseid wrote:
> > Hello,
> > I am doing my first steps with rspec and did the following observation.
> > I wanted to write a spec for a standard scaffold index view.
> > Now, my view spec looks like:
> > describe "/a_details/index.html.erb" do
> > it "should list all the details of as in an unordered list" do
> > assign[:a_details] = ['test']
> This looks like Rails-2/RSpec-1. If that's correct, then you want to use "assigns" instead of "assign".
> > render '/a_details/index.html.erb'
> > response.should have_tag("ul") do
> > with_tag("li") do
> > with_tag("div", "Name")
> > with_tag("div", "Details")
> > end
> > end
> > end
> > end
> > Can someone show me a direction and/or has a solution to this ?
> > When I run this I get:
> > 1)
> > ActionView::TemplateError in '/a_details/index.html.erb should list
> > all the details of shoes in an unordered list'
> > You have a nil object when you didn't expect it!
> > You might have expected an instance of Array.
> > The error occurred while evaluating nil.each
> > On line #15 of app/views/shoe_details/index.html.erb
> > 12: <th>Photo quality</th>
> > 13: </tr>
> > 14:
> > 15: <% @a_details.each do |shoe_detail| %>
> > 16: <tr>
> > 17: <td><%=h a_detail.brand %></td>
> > 18: <td><%=h a_detail.city_photo %></td>
> > app/views/a_details/index.html.erb:15
> > haml (3.0.18) rails/./lib/haml/helpers/action_view_mods.rb:13:in
> > `render_without_mock_proxy'
> > spec/views/a_details/index_spec.rb:8
> > rspec (1.3.0) lib/spec/example/example_methods.rb:40:in
> > `instance_eval'
> > rspec (1.3.0) lib/spec/example/example_methods.rb:40:in `execute'
> > /opt/local/lib/ruby/1.8/timeout.rb:53:in `timeout'
> rspec-users mailing list
> rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users
More information about the rspec-users