-1

J'ai plusieurs cases à cocher à sauvegarder dans une table DB mysql. Il a réussi à conserver tous les champs de formulaire sauf les cases à cocher multiples. Je dois sérialiser les enregistrer, comment je peux faire?Enregistrer plusieurs rails de cases à cocher 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> 

Avec Échafaudage créer mon contrôleur

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 

Répondre

0

ActiveRecord :: Base.serializeReference Link

Par exemple:

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"] }