simple_form niestandardowe wejście z niestandardowym opakowaniem
Próbuję wprowadzić niestandardowe dane wejściowe dla waluty w mojej aplikacji. Miałem te okładki bootstrap i tak dalej (myślę, że pochodzi z simple_form lub z bootstrapem ...), więc mogłem zrobić coś takiego:
<%= f.input :cost, wrapper => :append do %>
<%= content_tag :span, "$", class: "add-on" %>
<%= f.number_field :cost %>
<% end %>
I działa zgodnie z oczekiwaniami. Chodzi o to, że potrzebuję tego samego w wielu miejscach i nie chcę go kopiować / wklejać dookoła.
Postanowiłem więc stworzyć własne wejście.
Do tej pory otrzymałem następujący kod:
class CurrencyInput < SimpleForm::Inputs::Base
def input
input_html_classes.unshift("string currency")
input_html_options[:type] ||= input_type if html5?
@builder.input attribute_name, :wrapper => :append do |b|
# content_tag(:span, "$", class: "add-on")
b.text_field(attribute_name, input_html_options)
end
end
end
Ale mam pewne błędy. Wygląda na tob
nie przyszedł zgodnie z oczekiwaniami, więc po prostu nie działa.
Czy to naprawdę możliwe? Nie mogłem znaleźć żadnego przykładu i nie mogę sprawić, by działał sam.
Z góry dziękuję.