J'essaie d'aplatir un tableau pour ma fiche.Rails: Aplanir un tableau dans le paramètre
def update
@tour = Tour.find(params[:id])
params[:tour][:hotel_ids][0] = params[:tour][:hotel_ids][0].split(',')
...
Il en résulte:
"hotel_ids"=>[["1","2"]]
Naturellement, je veux que ce soit
"hotel_ids"=>["1","2"]
Ma Forme:
<%= text_field_tag 'tour[hotel_ids][]', nil %>
quelqu'un Hope peut aider.
EDIT
J'ai eu à travailler, en quelque sorte. Cela pourrait être une mauvaise façon de le faire si:
J'ai changé les text_field qui obtiennent est le tableau de jquery à:
<%= text_field_tag 'tour[h_ids][]', nil %>
puis dans mon contrôleur je l'ai fait:
params[:tour][:hotel_ids] = params[:tour][:h_ids][0].split(',')
Et ce fonctionne, j'ai dû ajouter h_ids à attr_accessor cependant. Et ce sera probablement un gros WTF pour quiconque lira le codeur plus tard ... mais est-ce acceptable?
Alors params [: tour] [: hotel_ids] = params [: tour] [: hotel_ids] [0] .split (',') ne fonctionnait pas? Parce que c'est EXACTEMENT ce que vous faites là, mais sans l'objet tampon. – Rock
Non, ça n'a pas fonctionné ... – Amund
Btw, ** grand ** merci à vous Rock et MBO de porter avec moi. C'est un énorme soulagement d'avoir au moins travailler après littéralement des jours d'essayer différentes choses. – Amund