0
votes

Param param in rails 6 formulaire

Ceci est mon premier projet Rails 6. Coincé à ce sujet. Tout avis sera le bienvenu.

J'ai un formulaire sur index.html.erb p> xxx pré>

avec un contrôleur p> xxx pré>

i obtenir ceci

Rails.application.routes.draw do
  resources :volunteer_submissions

  devise_for :admin_users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)

  get 'volunteers', to: 'volunteer_submissions#index'

  root to: 'pages#home'

end


0 commentaires

3 Réponses :


0
votes

Le formulaire doit ressembler à ce <% = form_with (modèle: article, local: true) faire | Formulaire | %> dans modèle: élément Vous devez mettre le nom de votre fichier modèle RB situé dans app / modèles Dans mon cas, son app / modèles / items.rb Donc, ma forme est <% = form_with (modèle: article, local: true) faire | Formulaire | %>


1 commentaires

Ajouté 'local: vrai' ... et il distingue toujours les paramètres manquants. Et si je vous comprends ... oui, mon modèle est App / Modèles / Volunteer_submission.rb So @volunteer_submission.



0
votes

Je crois que votre problème est le fait que vous envoyez vos paramètres sans une touche code> Volunteer_submission Code>.

basé sur cette méthode p>

  def volunteer_submission_params
    params.require(:volunteer_submission).permit(:email, :first_name, :last_name)
  end


3 commentaires

Avoir du sens. Comment puis-je envoyer cette clé?


Résolu en utilisant la possibilité d'envoyer le volontaire_submission. <% = Form_with Scope :: Volunteer_submission, local: True Do | Formulaire | %>


FWIW Si vous utilisez Param Wrapper (que je pense est activée par défaut dans les rails), il doit automatiquement envelopper vos touches dans la clé Volunteer_submission.



0
votes

Pour moi, j'avais ce problème parce que j'avais l'aide d'une entrée HTML à l'intérieur du formulaire Rails et passait au nom de la valeur sans le nom de modèle.

   {"authenticity_token"=>"....", "order_items"=>{":weight_in_oz"=>"16"}, "commit"=>"Add To Cart", "controller"=>"order_items", "action"=>"create"} permitted: false>


0 commentaires