J'utilise form_for tag et son travail dans les rails 3.0.4 Environnement. Mais quand j'ai essayé de mettre à jour mon projet aux rails 4.Il donne des erreurs suivantes
mauvais nombre d'arguments (3 pour 2). Voici mon code P>
<%= form_for @email, :url => alerts_path do |f| %> <% end %>
5 Réponses :
Votre syntaxe est correcte. Essayez de changer comme ceci:
<%= form_for(@email, url: alerts_path) do |f| %> #form fields goes here <% end %>
Merci de votre aide mais j'ai essayé cette solution, cela me donne le même nombre de mauvais nombre d'arguments.
@ZeeshanmaHMOOD: Essayez d'ajouter Méthode :: Post Code> avec
URL code> et vérifiez.
Sont vos alertes code> ressources ou pas? Dans
routes.rb code>?
Je ne peux voir aucun problème avec votre form_for, pouvez-vous poster une arrière-marche de l'exception? Peut-être qu'un autre gemme est un formulaire de valeur par défaut qui est remplacé? p>
Comme le dit la réponse populaire, le gem de la clientèle client_side_validations peut également le causer
Essayez de supprimer des choses qui peuvent essayer de changer les choses de points de vue. P>
Dans mon cas, le problème était avec J'espère que cela aide. P>
Ceci a été documenté et fixé sur git: github.com/davyjonesLocker/client_side_validations/issues/60 3 Je viens de changer mon gemfile pour pointer vers GitHub et il a fixé le problème
Vous ne savez pas encore pourquoi, mais en supprimant le gemme "meta_search" de mon gemfile fixe ce problème exact pour moi sur des rails 4. P>
Si vous Google Ce problème, vous pouvez trouver ce GitHub Issue qui l'attribue à la GEM "Client_side_Validations", mais en utilisant la branche "Rails-4-Secours" suggérées de ce repo n'a pas réparer le problème pour moi. P>
Je pense que l'erreur avec meta_search n'a pas eu de nouvelle libération depuis le 2 février 2012, alors je ne peux donc supposer que quelque chose dans le gemme ne se comportait pas bien avec les rails 4. Si je découvre ce que le problème était spécifiquement, je vais mettre à jour cette réponse . Il semble un peu boiteux de devoir "arrêter d'utiliser" Meta_Search, mais c'est autant que je peux offrir jusqu'à présent. Merci! P> simple_form_for code> était un hareng rouge, car je recevais la même erreur, même en utilisant des rails intégrés dans
form_for code> et d'obtenir
mal Nombre d'arguments (3 pour 2) code> quel que soit le nombre d'arguments que j'ai réellement passé dans une méthode. p>
Merci bourgeon, cette mine fixe
Euh oh: / Nous utilisons ActiveAdMin et Meta_Search sont une dépendance. Nous ne pouvons donc pas passer à des rails 4 si nous voulons garder AA ??
Supprimer GEM 'Meta_Search' à partir de votre fichier GEM et examinez plutôt à l'aide de GEM RANSACACACACK. https://github.com/actieCord-hackery/ransack p>
Essayez simplement avec <% = form_for @email do | F | %> <% fin%%>
J'ai également essayé cela, j'ai eu la même erreur que j'ai mentionnée ci-dessus.
Montrez-moi le code du contrôleur ..
J'ai eu un modèle @Contact et j'avais créé des champs virtuels init comme je ne voulais pas stocker les données, alors à ce moment-là, j'ai eu ce genre d'erreur, pour moi une solution créait des champs inscrits à l'aide de l'attribut virtuel.
Essayez des méthodes dans Config / Initialiseurs / Simple_Form.rb. J'ai changé la lambda dans config.label_text et je l'ai donnée 3 arguments au lieu de 2 et il a corrigé le problème pour moi