1. Conclusion </ b>
2. Comment utiliser </ b>
3. Pourquoi une telle différence se produit-elle? </ B>
4. Ce que j'ai appris d'ici </ b>
❶render
(i) Je veux juste spécifier le fichier View et l'afficher
controller.rb
def
render '***(Afficher le nom du fichier).index(Nom de l'action) #---"a"
end
or
def
render :index(Nom de l'action) #---"b"
end
Quelle est la différence entre "a" et "b" a➡︎ Je souhaite afficher les actions des différents contrôleurs b ➡︎ Je veux afficher l'action du même contrôleur qui décrit le rendu Cela signifie que.
(ii) Je souhaite utiliser le même programme dans plusieurs fichiers html.erb
python
<%= render 'public/error_messages', model: f.object %> #---Extrait de mon article
Dans le cas ci-dessus, lorsque vous entrez vide dans l'index, nouveau, afficher l'action, le message "Les exigences n'ont pas été saisies!" S'affiche. ( Comment désactiver le regroupement d'erreurs )
❷redirect_to
(i) Je souhaite effectuer une action une fois via le traitement du contrôleur
controller
def
redirect_to("/app/(Afficher le nom du dossier)/(Nom de l'action.html.erb)")
end
or
def
redirect_to ****_****_path
end
En d'autres termes, cela signifie spécifier l'URL.
L'essentiel est de savoir s'il y a à nouveau un «contrôleur» entre les deux.
❶ le rendu est pour le mouvement du contrôleur ➡︎ Vue ❷ redirect_to est Controller ➡︎routes.rb (id basé sur l'URL) ➡︎Controller ➡︎View Ce sera un mouvement. Si vous n'utilisez que le rendu, il affichera uniquement la page "juste", le traitement peut donc être gênant et une erreur peut se produire. Puisque redirect_to prend en sandwich le contrôleur une fois, l'action de mise à jour / destory peut être effectuée sans erreur.
Recommended Posts