comment sauvegarder le tableau dans la base de données dans les rails
si j'ai params comme ceci :
params["scholarship"] = {"name"=>"test", "state_ids"=>["1", "2", "3", "4"]}
et quand je créer un objet de champ de base de données state_id pas enregistrer dans la base de données?
la façon d'enregistrer la base de données avec le format :
#<Scholarship id: 1, name: "test", state_id: "["1", "2", "3", "4"]">
comment faire?
grâce avant
source d'informationauteur tardjo
Vous devez vous connecter pour publier un commentaire.
ActiveRecord::Base.sérialiser.
Par exemple:
Vous pouvez également utiliser PostrgreSQL de soutien pour la matrice de stockage. (Si vous utilisez PG, bien sûr).
Votre migration ressemblera à cela:
Mais n'oubliez pas de validations.
Dans votre modèle ont
Ici est un lien à la documentation
Cela étant dit, il semble que vous essayez de passer state_ids les paramètres et les enregistrer dans state_id, est-ce que vous avez l'intention de faire?
vous avez 2 noms différents pour votre attribut, de sorte qu'ils ne sont pas alignés.
ensuite, utilisez
serialize :state_ids
une fois que vous avez renommé de la colonne.Toutefois, si vous êtes à stocker une liste de state_ids, je vais suppose que vous avez aussi un tableau états, et devrait donc examiner à l'aide de has_and_belongs_to_many association.