On 5 January 2011 22:56, Rob Biedenharn <[email protected]> wrote:
> On Jan 5, 2011, at 5:21 PM, Colin Law wrote:
>
>> On 5 January 2011 21:45, Brian Ablaza <[email protected]> wrote:
>>>
>>> I have an app that manages tapes. Each tape has a number (separate from
>>> the record ID in MySQL).
>>>
>>> When a tape is added, the number field can be filled in. But when the
>>> record is subsequently edited, the number should not be editable.
> [...
> Rather than check the action, I'd suggest checking whether the object was
> new.
>
> <% if f.object.new_record? %>
>  <%= f.text_field :number %>
> <% else %>
>  <%= f.object.number %>
> <% end %>

I don't think I approve of doing it this way.  This is putting too
much intelligence into the view.  The view is saying 'I know that if
the object is a new record then I should display this field'.  Instead
I suggest one should set a flag in the controller action, then the
view is just saying 'I know that if this flag is set I should show
this field'.  Call the flag show_id or similar and the view is just
obeying orders, not making decisions.

Colin

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to