Сохранить несколько флажков рельсов 4

У меня есть несколько флажков, которые мне нужно сохранить в таблице базы данных mysql. Ему удалось сохранить все поля формы, кроме флажков "множественные". Мне нужно сериализовать сохранить их, как я могу сделать?

_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>

С помощью Scaffold создайте мой контроллер

  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

1 ответ

Решение

ActiveRecord::Base.serialize Ссылка Ссылка

Например:

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"] }
Другие вопросы по тегам