[RUBY] Rails Revue 2

Objectif de ce message Je vais l'écrire sous forme de minutes pour noter le fonctionnement des Rails. Ceci est une continuation de la [Rails Review 1] précédemment écrite (https://qiita.com/naoto911/items/f46b35f84cc80f59cac3).

Matériel pédagogique utilisé pour l’apprentissage Udemy ["Introduction à Ruby on Rails pour la première fois - Apprenez Ruby et Rails à partir des bases et publiez des applications Web sur le Net"](https://www.udemy.com/course/the-ultimate-ruby-on-rails- J'ai utilisé bootcamp /) comme matériel pédagogique.

① Comment utiliser link_to

qiita.rb


link_to 'Nom du lien', 'Nom du préfixe+ _path'

・ Voir assistant ・ Crée automatiquement html (crée href)

○ Nom du lien ⇨ Décrivez qu'il est affiché sous forme de chaîne de caractères dans la vue

○ 'Nom du préfixe + _chemin' ⇨ Utiliser le préfixe des itinéraires de rails (nécessite _path)

[Comment écrire un modèle d'URL avec un identifiant] ・ Focus sur le modèle d'URL associé au préfixe -Le modèle d'URL peut contenir des variables non uniques telles que: id. ・ * (Lorsqu'il est uniquement déterminé, seule la description ci-dessus est OK)

·dans ce cas,'Prefix + _path + (each do | |Valeur générée par)'Décrit comme ・ Chaque faire| |La valeur générée par,Généré à partir de variables d'instance ・ * (Hypothèse que les variables d'instance ont été générées par le contrôleur)

qiita.rb


@Variable d'instance chacun faire|Nom de l'instance|

-Ce nom d'instance stocke plusieurs caches de variables d'instance. -Convertir la valeur où nom de colonne = id en: id dans le modèle d'URL -Cela signifie que la description est faite en incluant l'argument: id à la place de: id dans l'url.

Par exemple

Prefix          URL Pattern
edit_question   question/:id/edit

-Le modèle d'URL associé à ce préfixe comprend: id -Par conséquent, il est également nécessaire de décrire (nom de l'instance).

qiita.rb


<% @question each do |question| %>
<%= link_to 'Edit', edit_question_path(question) %>
<% end %>

[Explication]

② Comment utiliser redirect_to

qiita.rb


ridirect_to 'Nom du préfixe+ _path'

-Méthode pour passer à l'URL spécifiée ・ Fondamentalement, l'idée est la même que la méthode method link_to ・ Les différences sont décrites sur le contrôleur -Par conséquent, le 'nom du lien' n'est pas nécessaire car il n'est pas affiché dans la vue. -En outre, la variable d'instance elle-même peut être utilisée lors du préfixe du modèle d'URL. ・(Variable d'instance à faire pour la description dans la classe|Nom de l'instance|Est inutile)

[Comment écrire un modèle d'URL avec un identifiant]

qiita.rb


action def
    @Variable d'instance=Nom du modèle.find(params[:id])
    redirect_to question_path(@question)
  end

[Explication] ・ Pour pramasun, considérez-le comme un nom de hachage séparé et passez-le. ・ Obtenez: id de @question et appliquez-le au modèle d'URL

③ Comment utiliser le rendu

qiita.rb


render :nom de fichier html

・ Méthode pour passer à l'URL comme dans ①② -Notez que spécifiez le nom du fichier html au lieu de Prefix avec: nom de fichier html. ・ Fondamentalement utilisé dans les actions -Utilisé lorsque le processus au moment de l'exécution de l'action est célèbre -Retour au chemin avant d'accéder au chemin de la condition d'exécution de l'action

qiita.rb


action def
    @Variable d'instance=Nom du modèle.find(params[:id])
    redirect_to question_path(@question)
  end

④ Comment utiliser redirect_to et rendre -Ici, un exemple est expliqué lorsque le modèle d'URL est uniquement déterminé par Prefix.

qiita.rb


  def create
    @question = Question.new
    if @question.save
      redirect_to root_path, notice: 'Success!'
    else
      flash[:alert] = 'Save error!'
      render :new
    end
  end

[Explication] -Branch l'URL qui va après que l'action est exécutée en deux (redirection vers le côté ou côté rendu) ・ Créez une instance du modèle Question vers @question ・ Maintenez la valeur avec @ question.save ・ Si la valeur peut être enregistrée correctement ici, déplacez-vous vers le préfixe de redirect_to. ・ Si l'enregistrement échoue, revenez à new.html.erb

○notice: 'Success!' ⇨ Lors de l'accès à l'URL après redirect_to, l'utilisateur est affiché comme 'Succès!'

○flash[:alert] = 'Save error!' ⇨ "Enregistrer l'erreur!" Est affiché à l'utilisateur sur l'écran de visualisation renvoyé.

Recommended Posts

Rails Examen 1
Rails Revue 2
[Rails g. Erreur]
API Rails
Migration des rails
[Rails] first_or_initialize
Présentation de l'application de révision de livres Rails RSpec
À propos des rails 6
Revue Java
Fondation Rails
Mémorandum Rails
tutoriel sur les rails
rails tutry
Revue d'encapsulation
tutoriel sur les rails
[Rails] concevoir
rails tutry
tutoriel sur les rails
méthode des rails
tutoriel sur les rails
Ruby Review 1
Rails6 jQuery introduit
À propos du routage des rails
Ajout de binding.pry (rails)
Principes de base de la base de données Rails
Restrictions d'accès aux rails
Rails et données de forme
tutoriel rails Chapitre 6
Test du tutoriel sur les rails
[Rails] Fonction préférée
[Rails] À propos des conventions de dénomination
Principes de base de l'enregistreur de rails
[Rails] Présentation de jquery
Message Flash Rails
Vent arrière sur les rails
tutoriel rails Chapitre 1
[Rails 6] cocoon_ introduction
[Rails] Présentation de Carrierwave
Mémorandum du didacticiel Rails 1
[rails] Définir la validation
Rails Learning jour 3
Note de révision Enum
Tutoriel Rails Memorandum 2
Rails Learning jour 4
Implémenter la pagination des rails
[Rails] Fonction de catégorie
tutoriel rails Chapitre 7
[Rails] Présentation du dispositif
tutoriel rails Chapitre 5
Group_by dans Rails
Les rails suivent la fonction
tutoriel rails Chapitre 10
[Rails] Étendre UrlHelper