Rails5で住所の入力フォームを作成しています。
フォームの表示自体は上手く出来ていますが、郵便番号の入力フォームを改良したいのですが
上手く実装出来ないのでご教授お願いいたします。
現状は[ ] [ ]このように入力欄が2つ並んだ状態です。
それを
[ ] - [ ]のように真ん中に 「-」をいれたいのですが、上手くいかないのです。
実装している現状のコードは以下になります。
app/views/admin/clients/_form.html.erb <%= markup do |m| p = ClientFormPresenter.new(f, self) m << p.notes p.with_options(required: true) do |q| m << q.postal_code_block(:postal_code1, :postal_code2, '郵便番号', size: 5) end m << p.check_boxes end %>
app/presenters/form_presentr.rb class FormPresenter include HtmlBuilder attr_reader :form_builder, :view_context delegate :label, :text_field, :password_field, :check_box, :radio_button, :text_area, :object, to: :form_builder def initialize(form_builder, view_context) @form_builder = form_builder @view_context = view_context end def notes markup(:div, class: 'notes') do |m| m.span '*', class: 'mark' m.text '印の付いた項目は入力必須です。' end end def text_field_block(name, label_text, options = {}) markup(:div, class: 'input-block') do |m| m << decorated_label(name, label_text, options) m << text_field(name, options) end end def password_field_block(name, label_text, options = {}) markup(:div, class: 'input-block') do |m| m << decorated_label(name, label_text, options) m << password_field(name, options) end end def date_field_block(name, label_text, options = {}) markup(:div, class: 'input-block') do |m| m << decorated_label(name, label_text, options) m << text_field(name, options) end end private def decorated_label(name, label_text, options = {}) label(name, label_text, class: options[:required] ? 'required' : nil) end end
app/presenters/client_form_presenter.rb class ClientFormPresenter < FormPresenter def postal_code_block(name1, name2, label_text, options = {}) markup(:div, class: 'input-block') do |m| m << decorated_label(name1, label_text, options) m << text_field(name1, options) m << text_field(name2, options) end end end
以下のようにいろいろためしてみましたが上手くいきませんでした。
m << q.postal_code_block((:postal_code1), - (:postal_code2), '郵便番号', size: 5) m << q.postal_code_block([:postal_code1], - [:postal_code2], '郵便番号', size: 5) m << q.postal_code_block([:postal_code1], [-], [:postal_code2], '郵便番号', size: 5)
どなたかご教授いただけないでしょうか?
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/21 00:06