我有一个数组作为对象的字段,我有更新它的问题。
### members_controller.rb
:special_role_attributes => [:member_id, :position_name => []]
def update
@member = Member.find(params[:id])
end
### _form.html.erb
<%= f.fields_for :special_role do |special| %>
<%= special.collection_check_boxes :position_name, @special_positions, :position_name, :position_name %>
<% end %>
我可以保存得很好,但是当我点击update
时,复选框就不会被检查。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
您需要序列化数组position_name
。在你的模型中添加它
serialize :position_name, Array
要删除空白值,请添加此
before_validation :cleanup_position_name
def cleanup_position_name
position_name.reject!(&:blank?)
end