Пытаетесь создать новый помощник по форме, чтобы добавить класс в текстовое поле, но, кажется, он не добавляет этот класс?
Вот помощник:
module FormHelper
def phone_number_tag *args
args.each do |e|
if e.is_a? Hash and e.has_key? :class
e[:class] = e[:class] + " phone_number"
elsif e.is_a? Hash
e[:class] = "phone_number"
end
end
text_field_tag args
end
end
Что странно, когда я добавляю отладчик вот так...
module FormHelper
def phone_number_tag *args
args.each do |e|
if e.is_a? Hash and e.has_key? :class
e[:class] = e[:class] + " phone_number"
elsif e.is_a? Hash
e[:class] = "phone_number"
end
end
debugger
text_field_tag args
end
end
... и беги text_field_tags args
в консоли, как только он попадает в тот отладчик, я получаю:
"<input id=\"_:first___:class___input_span2_phone_number___:placeholder___First__\" name=\"first {:class=>"input span2 phone_number", :placeholder=>"First"}\" type=\"text\" />"
Тем не менее, вывод HTML на визуализированной странице:
<input class="input span2" id="follow_up_phone" name="referral[follow_ups_attributes][0][phone]" size="30" type="text">
Класса phone_number нет, хотя в отладчике он был.
Кто-нибудь знает почему?
1 ответ
Я считаю, что это должно быть так:
text_field_tag *args
(со звездочкой *)