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:
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:
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