У меня есть следующая форма:
<%= simple_form_for [@customer, @transaction] do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :status, :collection => ["payment request"], include_blank: false %>
<%= f.input :processor, collection: @processors ,label_method: :name, value_method: :id, label: "Processor" %>
<%= f.input :processor_bank_account, collection: @bank_accounts , label_method: :bank_name, value_method: :id, label: "Processor Bank Account" , include_blank: true %>
<%= f.input :tcurrency, collection: @currencies, label: 'currency', include_blank: false %>
<%= f.input :amount, as: :integer, label: 'amount' %>
<%= f.input :language, collection: @languages, include_blank: false, label: 'choose a language: english or arabic' %>
</div>
<div class="form-actions text-center">
<%= f.button :submit, "Add transaction", class: "form-button"%>
</div>
<% end %>
Входные данные для процессора и processor_bank_account являются полями 'select' и поэтому отображаются как выпадающие для пользователя.
Однако, если форма возвращаетошибка, тип формы для обоих этих полей изменяется с 'select' на 'string' и показывает регистр ActiveRecord выбранных полей:
См. пример формы после ошибок
Выпадающие списки больше не являются полями выбора, поэтому выглядят ужасно и не могут быть изменены пользователем.
Любая помощь, исправляющая это, будет очень признательна.