[Révision] Lors de la création d'une application Web avec Rails, erreur de syntaxe, inattendue ')', expecting => ...]}% ","% # {params [: content]}% "]) ...

Salut, c'est shirakaba.

Cette fois, je voudrais revoir Rails.

J'ai effacé le travail que je faisais à l'école en ligne auparavant, alors je pense à le refaire en tant que critique.

Cela dit, le contenu que j'écris cette fois a résolu l'erreur qui s'est produite lors de la création de l'application! J'aimerais écrire ça.

En passant, j'ai été poursuivi par autre chose pendant longtemps et j'ai oublié mes choses importantes, mon objectif initial et ce que j'ai apprécié, alors je suis retourné au point de départ et j'ai appris la tâche et la programmation en parallèle. Je veux le faire en le faisant!

J'apprendrai comme j'aime!

※point important Inexpérimenté, maintenant un débutant étudiant seul. Il est écrit dans le but de produire ce que vous avez appris. Par conséquent, je pense qu'il peut y avoir des erreurs, mais dans ce cas, j'apprécierais que vous puissiez le voir avec des yeux chaleureux.

Ce qui a été résolu

Qu'as-tu essayé de faire?

Lorsque j'ai essayé de créer une fonction de recherche et créé une action de recherche sur le contrôleur, j'ai fait la description suivante et l'erreur suivante s'est produite.

def search
  if params[:content].present?
     @book = Book.where(user_id: current_user.id,['title LIKE ? OR author LIKE ? OR label LIKE ?',"%#{params[:content]}%", "%#{params[:content]}%", "%#{params[:content]}%"])
  else
    @book = Book.none
  end
end

Déclaration d'erreur

Lorsque j'accède à l'URL, l'écran d'erreur habituel apparaît ...

syntax error, unexpected ')', expecting => ...]}%", "%#{params[:content]}%"]) ... ^
@book = Book.where(user_id: current_user.id,['title LIKE ? OR author LIKE ? OR label LIKE ?',"%#{params[:content]}%", "%#{params[:content]}%", "%#{params[:content]}%"])

Dans le terminal

SyntaxError (/Nom de dossier/Nom de dossier/controllers/books_controller.rb:6: syntax error, unexpected ')', expecting =>


...]}%", "%#{params[:content]}%"])
...                              ^
):

Solutions

De la conclusion, je l'ai résolu en écrivant deux «où» ensemble.

@book = Book.where(user_id: current_user.id).where('title LIKE ? OR author LIKE ? OR label LIKE ?',"%#{params[:content]}%", "%#{params[:content]}%", "%#{params[:content]}%")

Cette fois, c'était une erreur due à une erreur de description, mais j'ai eu du mal à la trouver ... Si vous recherchez correctement la cause et réfléchissez calmement, cela n'a peut-être pas pris si longtemps.

Même s'il s'agit d'un bilan, cela me fait comprendre qu'il y a encore un manque de formation. De plus, ce n'est peut-être pas une belle façon d'écrire, alors je vais l'étudier plus correctement.

finalement

À l'avenir, j'aimerais être en mesure de produire des choses triviales ou embarrassantes de cette manière. Puis ~

Recommended Posts

[Révision] Lors de la création d'une application Web avec Rails, erreur de syntaxe, inattendue ')', expecting => ...]}% ","% # {params [: content]}% "]) ...
[Rails] Erreur de syntaxe, tSTRING_END inattendue, attendue ""
[Rails] Evitez le SELECT émis lors de la création d'un modèle avec appartient_to défini!
Créer une application Web avec Javalin
Règles de dénomination lors de la création de nouveaux contrôleurs et modèles avec rails
Création d'un environnement de développement pour les applications Web Java avec Docker pour Mac Part1
Créez une application Web simple avec Dropwizard
Rails Bases de la création d'une nouvelle application
[Rails] Résolution d'erreur lors de la génération de jetons avec PAYJP
Un mémorandum d'erreur survenu lors de la création d'un environnement CI / CD [Rails + CircleCI + Capistrano + AWS]
Erreur rencontrée avec les notes lors du déploiement de docker sur des rails