2016-01-30 1 views
0

J'utilise select2 gem avec acts as taggable gemRails 4 actes tangibles comme sur l'épargne et ne montrant étiquette vierge supplémentaire

Je l'ai eu à travailler jusqu'à l'économie dans la base de données.

contrôleur

:

def skit_params 
    params.require(:skit).permit(:idea, :description, :thetag_list).merge(user_id: current_user.id) 
end 
forme

:

= f.select :thetag_list, options_for_skit, {}, { id: "thetag_tag", multiple: true } 
modèle

:

class Skit < ActiveRecord::Base 
    acts_as_taggable_on :thetags 
end 

coffeescript:

$('#thetag_tag').select2 
    theme: "bootstrap" 

dans ma console:

Parameters: {"utf8"=>"✓", 
      "authenticity_token"=>"blah", 
      "skit"=>{"thetag_list"=>["", "tag2", "tag42", "tag320"]}, 
      "commit"=>"Update"} 

Je suis ma console pour montrer les étiquettes, cependant, il y a toujours 1 montrant balise vide, et aucune des balises sont enregistrées dans la base de données.

J'ai vérifié dans la console db, select * from tags;, rien n'est là. J'ai essayé de faire = @skit.thetag_list et rien ne se voit.

Répondre

0

juste compris que mes paramètres forts, je devais ajouter

:thetag_list => [] 

comme ceci:

params.require(:skit).permit(:idea, :description, :thetag_list => []).merge(user_id: current_user.id) 

Il est aussi étrange que cette [] doit être le dernier ou vous allez obtenir une erreur, je ne sais pas pourquoi cela se produit, exemple:

params.require(:skit).permit(:idea, : thetag_list => [], :description).merge(user_id: current_user.id) 

donnera une erreur. Peut-être que quelqu'un peut intervenir sur cette question?