Running rails 2.1.0 when I do this:
<%= render :partial => ‘style’, :collection => @styles %>
I get the collection fine in my index file. When I try the shortcut:
<%= render :partial @styles %>
I get this error:
Couldn’t find template file for active_record/named_scope/scopes/
_scope
Any ideas??
Add a comma or not?
<%=render :partial, @styles %>
2009/9/20 Me [email protected]
Couldn’t find template file for active_record/named_scope/scopes/
_scope
Any ideas??
–
Code our future
Name : Wang P.
Nick : QJGui
<%=render :partial=>@styles %>
the partial html is :
_style.html.erb
and the object can be used in the partial erb is style
2009/9/20 Me [email protected]
I get this error:
–
Code our future
Name : Wang P.
Nick : QJGui
2009/9/20 Chris H. [email protected]:
renders nothing.
You could use ruby-debug to break into the partial to check it is
getting there. Another thing to do is to check the html produced
(view source in browser) to check that it is in fact generating
nothing, rather than just nothing that displays.
Presumably you have checked that @styles is not empty?
Colin
2009/9/20 Chris H. [email protected]:
Ya if I change it to the normal :collection style syntax it works fine.
Ah, I see, I had misunderstood the problem. Is @styles an array of
Style objects, and are you rendering from the style controller? Where
is _style.html.erb?
What version of Rails are you using? I don’t know what version that
syntax appeared. Anyone?
Colin
Everything is in the styles views directory. rails 2.1.0. I am very
confused as this sytnax is supposed to be supported by rails > 2.0. I
even
tried it in 2.3.2 and the same thing. I watched ryan bates railscasts
about
4 times and I still do not know why it is not working.
This works fine:
<%= render :partial => ‘style’, :collection => @styles %>
Which is even more bewildering.
Ya if I change it to the normal :collection style syntax it works fine.
2009/9/20 Eric [email protected]:
I’ve never seen “render :partial @foo”
OP you have changed it to
<%=render :partial=>@styles %>
as pointed out by Wang P.?
Colin
Hi, what version of Rails is being defined within the environment.rb
file?
-Conrad
Is there something I’m not getting here? The short form should be
either
render :partial => @foo
-or-
render @foo
I’ve never seen “render :partial @foo”
-eric
Hi,
if you’re using Rails 2.1.0 or earlier, you’ll need to use the following
syntax:
a) render :partial => partial_name, :collection => @collections
Note: The above requires the partial, _partial_name.html.erb.
b) render :partial => partial_name, :object => @object
Note: The above requires the partial, _partial_name.html.erb.
If you’re using Rails 2.2.2 or greater, then you can use the following
syntax:
a) render :partial => @collections
Note: The above uses the partial, _collection.html.erb.
b) render :partial => @object
Note: The above used the partial, _object.html.erb.
Good luck,
-Conrad