Я пытаюсь заполнить массив значениями из флажков.Он работает просто отлично при создании записи, но не проходит проверку при редактировании.Параметры выглядят правильно, что меня действительно смущает:
"record"=>{... "type_array"=>["accounting"], ...}
Выглядит так же, как параметры при создании новой записи.Поля в New.html.erb
и Edit.html.erb
также используют ту же разметку.
Edit.html.erb
<div class="field">
<%= f.label :type_array, "What type of record?" %><br />
<% ["accounting", "agriculture", "automotive"].each do |type| %>
<%= check_box_tag 'record[type_array][]', type, (true if @record.type_list.include? type),
:id => type %>
<%= label_tag type, type.titleize, :class => type %><br />
<% end %>
</div>
Части Record.rb
validates :type_array, :presence => true
attr_accessor :type_array
attr_accessible :type_array
before_validation :set_type_list
private
def set_type_list
self.type_list = type_array.join ',' if type_array.present?
end
Я что-то упустил?Когда я удаляю проверку type_array
и заполняю форму, она действует так, как будто type_array пуст.Где-то вдоль линии, это должно быть потеряно или что-то в этом роде.
Я ценю любую помощь.
(Sidenote: если у кого-то есть лучший способ сделать список флажков, дайте мне знать)