Я пытаюсь сделать пользовательский ввод для валюты в моем приложении. У меня были те обертки для бутстрапов и т.д. (Я думаю, что он поставляется с simple_form или с бутстрапом gem...), поэтому я мог бы сделать что-то вроде:
<%= f.input :cost, wrapper => :append do %>
<%= content_tag :span, "$", class: "add-on" %>
<%= f.number_field :cost %>
<% end %>
И он работает так, как ожидалось. Дело в том, что мне нужно то же самое во многих местах, и я не хочу его копировать/вставлять.
Итак, я решил создать пользовательский ввод.
До сих пор я получил следующий код:
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
Но у меня появились некоторые ошибки. Похоже, что b
не соответствует ожиданиям, поэтому он просто не работает.
Действительно ли это возможно? Я не мог найти никакого примера и не могу заставить его работать сам.
Спасибо заранее.