保存多个复选框4
问题描述:
我有多个复选框,我需要保存在mysql数据库表中。 他设法保留除了多重复选框之外的所有表单字段。 我需要序列化保存它们,我该怎么办?保存多个复选框4
_form.html.erb
<div class="form-group">
<%= f.label :news_source, 'Noticias', :class => 'col-lg-2 control-label' %>
<div class="col-lg-10">
<%= f.label :news_source, 'El País' %>
<%= check_box_tag "news_source[]", '1' %>
<br>
<%= f.label :news_source, 'El Observador' %>
<%= check_box_tag "news_source[]", '2' %>
<br>
<%= f.label :news_source, 'El Espectador' %>
<%= check_box_tag "news_source[]", '3' %>
</div>
</div>
用脚手架创建我的控制器
def create
raise params.inspect
@emission = Emission.new(emission_params)
respond_to do |format|
if @emission.save
format.html { redirect_to @emission, notice: 'La emisión fue creada correctamente.' }
format.json { render :show, status: :created, location: @emission }
else
format.html { render :new }
format.json { render json: @emission.errors, status: :unprocessable_entity }
end
end
end
答
的ActiveRecord :: Base.serializeReference Link
例如:
class User < ActiveRecord::Base
serialize : news_source_ids
end
user = Emission.create(:scholarship=> { "name" => "test", "news_source_ids" => ["1", "2"]})
Emission.find(usernews_source.id).scholarship# => { "name" => "test", "news_source_ids" => ["1", "2"] }