У меня есть форма, которая обновляет объект @identity
. Два атрибута @identity
необходимо назначить из отдельной коллекции @accounts
.Simple form array of hashes
@accounts = [{
'name' => 'A',
'page_id' => 1},
{
'name' => 'B',
'page_id' => 2
}]
Потребности формы отображения name
, но проходят как name
и page_id
.
<%= simple_form_for(@identity, :remote => true) do |f| %>
<%= f.input :page_name, :collection => @accounts.map { |a| a['name'] }, :as => :radio_buttons, :item_wrapper_tag => :li %>
<%= f.submit 'Submit', :class => 'btn btn-primary' %>
<% end %>
Как я могу также передать соответствующий page_id
атрибут без его отображения?
Вы не можете смешивать и сопоставлять строки и символы. Вы устанавливаете 'a [: name]', но читаете 'a ['name']', который не будет работать, если это действительно не HashWithIndifferentAccess', и ничего, что вы опубликовали, указывает, что это так. – meagar
Исправлено. '@ accounts' не должны были использовать символы. – mnort9