Forum: Ruby on Rails complete stumper: variable exists in hidden_field_tag, but n

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
A2886d653ce30f2afd44632014e87b98?d=identicon&s=25 Jason Frankovitz (Guest)
on 2007-06-28 21:02
(Received via mailing list)
This is a real mystery to me. I have an instance variable in a partial
that only gives its value inside a hidden_field_tag. If I try to use
the variable anywhere else in the partial, i either get nil or an
undefined error. The goal is to use the value of @event.id outside of
hidden_field_tag.

Here's what works:
<%= hidden_field_tag 'id', @event && @event.id, :id => 'event_id' %>

...spits out this HTML: <input type="hidden" name="id" id="event_id"
value="771"/>

So I read that to mean that @event.id is 771. Fine, good. However, if
I change the line to this:
<%= hidden_field_tag 'id', @event.id, :id => 'event_id' %>

...I get an error:

RuntimeError in Controller#index

Showing app/views/controller/_contacts.rhtml where line #81 raised:

Called id for nil, which would mistakenly be 4 -- if you really wanted
the id of nil, use object_id


Furthermore, if I say this elsewhere in the same partial:
the event id is: <%= @event && @event.id %>END

...I get this:

the event is: END


And finally if I do this:

        <%= hidden_field_tag 'id', @event && @event.id, :id =>
'event_id' %>
        <%= hidden_field_tag 'id', @event && @event.id, :id =>
'event_id' %>
        <%= hidden_field_tag 'id', @event && @event.id, :id =>
'event_id' %>
        <%= hidden_field_tag 'id', @event && @event.id, :id =>
'event_id' %>
        <%= hidden_field_tag 'id', @event && @event.id, :id =>
'event_id' %>

...only the FIRST one works:

<input id="event_id" type="hidden" name="id" value="771"/>
<input id="event_id" type="hidden" name="id"/>
<input id="event_id" type="hidden" name="id"/>
<input id="event_id" type="hidden" name="id"/>
<input id="event_id" type="hidden" name="id"/>



Anyone got a handle on this? I've never seen a problem like this
before and it's driving me completely nuts. I'd really be grateful for
any tips or fixes.

Thanks!
-Jason
2b891e820c238ded365d035771603f21?d=identicon&s=25 Bill Walton (Guest)
on 2007-06-28 22:11
(Received via mailing list)
Hi Jason,

Jason Frankovitz wrote:

> value="771"/>
>
> So I read that to mean that @event.id is 771. Fine, good.

I don't think it's doing what you think it's doing.  This may help:
http://www.railsforum.com/viewtopic.php?pid=28781

Best regards,
Bill
This topic is locked and can not be replied to.