[RUBY] [Rails] Comment résoudre un nombre incorrect d'arguments (donné 2, attendu 0..1) pour user_id

supposition

Où présenter et créer des liens entre utilisateurs et publications (Il n'est pas nécessaire de concevoir, mais current_user doit être défini par @current_user)

Ce que j'ai fait

Ajout de «**» en se référant à ici

@gear = Gear.new(
  **gear_params,
  user_id: current_user.id
)

⇒ Coulé par la mystérieuse erreur hash key" "is not a Symbol

J'ai tout écrit sans utiliser la méthode gear_params

@gear = Gear.new(
      category: params[:category],
      name: params[:name],
      maker: params[:maker],
      price: params[:price],
      memo: params[:memo],
      user_id: current_user.id
      )

Pour une raison quelconque, il est annulé et non enregistré dans la base de données. .. ʻActiveRecord :: RecordInvalid (échec de la validation: entrez l'utilisateur` (non résolu)

Solution

Si vous l'écrivez complètement séparément, vous n'avez pas à considérer le hachage comme un symbole.

def create
    @gear = Gear.new(
      gear_params
      )
    @gear.user_id = current_user.id
      .
      .
      .
end

Le site que j'ai utilisé comme référence

Parce que je suis tombé sur l'enregistrement d'un article à partir du modèle associé à l'utilisateur. En mémoire

Supplément

gear_params écrit:

  private
  def gear_params
    params.require(:gear).permit(:category, :name, :maker, :price, :memo)
  end

Recommended Posts

[Rails] Comment résoudre un nombre incorrect d'arguments (donné 2, attendu 0..1) pour user_id
ArgumentError (nombre incorrect d'arguments (donné 0, attendu 1)) message d'erreur
Que faire si vous obtenez une erreur d'argument: nombre incorrect d'arguments (donné 2, attendu 0) dans votre test RSpec
Résumé de l'écriture des arguments d'annotation
Comment déterminer le nombre de parallèles
Comment utiliser JQuery dans Rails 6 js.erb
Que faire si vous obtenez une erreur de nombre d'arguments erroné dans binding.pry
Comment écrire des rails
[Rails, JS] Comment implémenter l'affichage asynchrone des commentaires
[Rails] Comment changer le nom de colonne de la table
Comment désinstaller Rails
[Rails] Comment obtenir le contenu des paramètres forts
Résumé de la mise en œuvre des arguments par défaut en Java
[Rails] Comment afficher une liste de messages par catégorie
[Rails] Comment écrire user_id (clé externe) dans un paramètre fort
[rails] Comment publier des images
[Rails] Comment utiliser enum
[Rails] Comment utiliser enum
Comment lire les itinéraires des rails
Comment utiliser la jonction de rails
Comment numéroter (nombre) avec html.erb
Comment terminer le serveur de rails
Comment écrire des graines de Rails
[Rails] Comment utiliser la validation
[Rails] Comment désactiver les turbolinks
[Rails] Comment utiliser authenticate_user!
[Rails] Comment mettre en œuvre le scraping
[Rails] Comment faire des graines
Comment écrire le routage Rails
[Rails] Comment installer simple_calendar
[Rails] Comment installer reCAPTCHA
[Rails] Comment utiliser Scope
[Rails] Comment obtenir l'URL de la source de transition et la rediriger
[Webpacker] Résumé de l'installation de Bootstrap et jQuery dans Rails 6.0
[Rails / Heroku / MySQL] Comment réinitialiser la base de données de l'application Rails sur Heroku
[Rails] Comment omettre l'affichage de la chaîne de caractères de la méthode link_to
[Rails] Comment changer le titre de la page du navigateur pour chaque page
[Rails] Comment utiliser la "devise" des gemmes
[Rails] Comment utiliser l'appareil (Remarque)
[Rails] Comment utiliser les messages flash
[rails] Comment afficher les informations de base de données
[Rails] Comment empêcher la transition d'écran
Comment utiliser Ruby on Rails
Comment déployer Bootstrap sur Rails
[Rails] Comment accélérer la composition de docker
Comment utiliser setDefaultCloseOperation () de JFrame
[Rails] Comment ajouter de nouvelles pages