Ich habe zwei Formularfeldtypen (f.text_field
oder f.text_area
), die ich durch einen Helfer definieren will:Können Sie ein _tag als ein Rails-Helfer-Argument übergeben?
def helper_thing(tagtype, field_id)
tagtype("#{field_id}", class: 'input-group-field')
end
Ich möchte, entweder für Formulartext helper in der Ansicht tagtype
als eine Variable verwenden (unter Verwendung von haml):
= helper_thing(f.text_field, 'random_id')
ich hoffe, der Ausgang wäre so etwas wie:
f.text_field('random_id')
ich ein immer erhalten Fehler, der "ungültige Anzahl von Argumenten 0 von 1..3" sagt, verursacht im Wesentlichen den Rest meiner Argumente, um zu scheitern. Aus Gründen der Kürze habe ich nur ein Argument in meinem Beispiel verwendet.
Was versuche ich zu tun?
Sie möchten vielleicht einen benutzerdefinierten Formular-Generator erstellen, anstatt einen Helfer zu verwenden. Sie können Methoden zum 'f' Objekt hinzufügen, anstatt eine Reihe von Referenzen zu übergeben. http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html – max