How can I "DRYize" this method?


#1

Hi all,

well I have this helper in my form, but it isn’t DRY, as you see:

<%= f.text_field(:birth_date, :size => ‘10’, :maxlength =>
‘10’, :class => “format-d-m-y divider-slash split-date”, :value =>
(@person.birth_date.nil? ? ‘’: @person.birth_date)) %>

so, @person and :birth_date must be dymamic in a helper.

How can I write those on a helper?


#2

On Wed, Jan 21, 2009 at 4:39 PM, flaubert removed_email_address@domain.invalid wrote:

so, @person and :birth_date must be dymamic in a helper.

How can I write those on a helper?

helper:
def date_field(form, method, model)
form.text_field(method,
:size => 10,
:maxlength => 10,
:class => ‘format-d-m-y divider-slash
split-date’,
:value => (model.send(method).nil? ? ‘’ :
model.send(method))
)
end

view:
<%= date_field(f, :birth_date, @person) %>

You could also create a custom form builder and add a date_field method
there to get the following in your view:
<%= f.date_field :birth_date %>


Andrew T.
http://ramblingsonrails.com
http://www.linkedin.com/in/andrewtimberlake

“I have never let my schooling interfere with my education” - Mark Twain


#3

Hi –

On Wed, 21 Jan 2009, flaubert wrote:

so, @person and :birth_date must be dymamic in a helper.
What does your form_for line look like? If you’ve got:

form_for :person … do |f|
f.text_field(:birth_date)

(or some small variations on that) you’ll get @person.birth_date in
the field automatically.

David


David A. Black / Ruby Power and Light, LLC
Ruby/Rails consulting & training: http://www.rubypal.com
Coming in 2009: The Well-Grounded Rubyist (http://manning.com/black2)

http://www.wishsight.com => Independent, social wishlist management!


#4

tnks guy! it works, I tried exactly this, but except the “form” var.

very tnks!

On 21 jan, 11:49, Andrew T. removed_email_address@domain.invalid