[RUBY] Critères pour utiliser correctement render et redirect_to

【Aperçu】

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>

  1. Conclusion

Voulez-vous pincer le contrôleur ou voulez-vous le pincer une fois </ b>
2. Comment utiliser

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.

  1. Pourquoi une telle différence se produit-elle?

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