Ruby on Rails 4 sélectionnez plusieurs
J'ai un formulaire qui crée de nouveaux utilisateurs. Je suis en train d'ajouter un menu déroulant de l'option pour sélectionner les niveaux d'autorisation. Je veux être capable de sélectionner plusieurs niveaux d'autorisation par l'utilisateur.
C'est mon point de vue, j'ai ajouté {:multiple => true}
:
<%= f.label :permission, "Permission Level" %>
<%= f.select :permission, [ ["Read Only", "read"], ["IP Voice Telephony", "ip_voice"], ["IP Video Telephony", "ip_video_telephony"], ["Enterprise Gateways", "enterprise_gateways"], ["Consumer ATAs", "consumer_atas"], ["IP PBX", "ip_pbx"], ["Master of All", "all"] ], {prompt: "Select Permission Level"}, {:multiple => true}, class: "input-lg" %>
Mon contrôleur, j'ai ajouté :permission => []
:
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation, :admin, :permission => [])
end
L'erreur que je reçois pour mon point de vue, f.sélectionnez:
wrong number of arguments (5 for 2..4)
Comment voulez-vous faire une sélection multiple pour les Rails 4?
source d'informationauteur DDDD
Vous devez vous connecter pour publier un commentaire.
class
etmultiple
sont à la fois partie dehtml_options
ainsi, ils doivent aller ensemble dans une seule de hachage.Changement
À
À droite vous êtes maintenant en passant séparément. Donc, l'argument de comptage pour
select
méthode est de plus de 5 alors qu'il devrait être de 4. Par conséquent, l'erreur.Votre option :classe n'est pas dans la table de hachage pour html_options:
devrait être
Je n'ai pas tester, mais le message d'erreur est assez simple, vous essayez d'utiliser le #sélectionnez la méthode à l'aide de 5 params et il accepte au plus 4 params, la lecture de l'API, il semble que vous devez fournir à l'attribut 'class' dans le même hash que vous avez fourni les "multiples" comme ils sont tous les deux html_options.
Essayez de l'utiliser comme ceci:
Il serait également bon d'avoir des autorisations tableau découplé à un autre endroit. Peut-être que cela aidera à maintenir.
http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select