weird error in rails 2.3.5

9 views
Skip to first unread message

Jamal Soueidan

unread,
Jun 11, 2012, 9:58:42 AM6/11/12
to rubyonra...@googlegroups.com
Hello,

I'm facing very simple weird error.

in my main page main.html.erb

<%=render(@locations) %>

and in I try to output name twice

locations/location.html.erb

<li><%=location.name%>
<%=location.name%><%=location.name%><%=location.name%></li>

name attribute only outputs one time??

I cannot figure out why this is happening?


//Jamal

--
Posted via http://www.ruby-forum.com/.

Colin Law

unread,
Jun 11, 2012, 10:08:07 AM6/11/12
to rubyonra...@googlegroups.com
On 11 June 2012 14:58, Jamal Soueidan <li...@ruby-forum.com> wrote:
> Hello,
>
> I'm facing very simple weird error.
>
> in my main page main.html.erb
>
> <%=render(@locations) %>
>
> and in I try to output name twice
>
> locations/location.html.erb
>
> <li><%=location.name%>
> <%=location.name%><%=location.name%><%=location.name%></li>
>
> name attribute only outputs one time??

To work out what is going on in these situations it is often worth
while to fiddle with what you have and see what happens. For example
what if you try
<li>A <%=location.name%> B
<%=location.name%> C <%=location.name%> D <%=location.name%> E</li>

Also look at the generated html (View > Page Source or similar in the
browser) to see what is there.

Colin

Jamal Soueidan

unread,
Jun 11, 2012, 10:16:32 AM6/11/12
to rubyonra...@googlegroups.com
Colin, I already tried that

It's only outputting A and nothing else.

but if I change to.

<% @locations.each do |location| %>
<li>A <%=location.name%> B
<%=location.name%> C <%=location.name%> D <%=location.name%> E</li>
<% end %>

it works.

Colin Law

unread,
Jun 11, 2012, 10:23:39 AM6/11/12
to rubyonra...@googlegroups.com
On 11 June 2012 15:16, Jamal Soueidan <li...@ruby-forum.com> wrote:
> Colin, I already tried that
>
> It's only outputting A and nothing else.
>
> but if I change to.
>
> <% @locations.each do |location| %>
>  <li>A <%=location.name%> B
> <%=location.name%> C <%=location.name%> D <%=location.name%> E</li>
> <% end %>
>
> it works.

Could you please quote the previous message so that it easier to
follow the thread. Remember this is a mailing list not a forum
(though you may be accessing it through a forum interface).

If you did not have the each loop round it then what was setting up location?

Colin

Jamal Soueidan

unread,
Jun 11, 2012, 10:26:29 AM6/11/12
to rubyonra...@googlegroups.com
Colin Law wrote in post #1064044:
Hello,

I'm facing very weird issue.

in my main page main.html.erb

<%=render(@locations) %>

....and in

locations/location.html.erb

....I try to output name twice
name attribute only outputs one time?? it ignore the rest of <%=
location.name %>

I cannot figure out why this is happening?


//Jamal

Jamal Soueidan

unread,
Jun 11, 2012, 10:26:46 AM6/11/12
to rubyonra...@googlegroups.com
Colin Law wrote in post #1064039:
Colin, I already tried that

It's only outputting A and nothing else.

but if I change to.

<% @locations.each do |location| %>
<li>A <%=location.name%> B
<%=location.name%> C <%=location.name%> D <%=location.name%> E</li>
<% end %>

it works.

Max Reznichenko

unread,
Jun 12, 2012, 5:26:16 AM6/12/12
to Ruby on Rails: Talk
Try to be more specific with old versions of Rails and change
<%= render(@locations) %>
to
<%= render :partial => "location/location", :collection => @locations
%>
In this case _location partial should have local variable "location"
correctly set.

Hope, this helps.

MaxR

Jamal Soueidan

unread,
Jun 12, 2012, 5:30:05 AM6/12/12
to rubyonra...@googlegroups.com
I fixed the issue, it was related to override of name attribute in the
model class.
Reply all
Reply to author
Forward
0 new messages