web-dev-qa-db-fra.com

Quoi utiliser à la place de `render: text` (et` render rien: true`) dans Rails 5.1 et versions ultérieures?

Rails 5.1 supprime toute une charge de méthodes précédemment déconseillées . Parmi eux se trouve le vieil ami render :text.

Cela était très utile lorsque vous avez besoin de restituer du texte , mais ne souhaitez pas la surcharge d'un modèle de vue. Exemples:

render text: "ok"
render text: t('business_rules.project_access_denied'), status: 401

Quoi utiliser à la place?

49
Sergio Tulentsev

La méthode non obsolète consiste à utiliser render :plain

Guide Rails sur les dispositions et le rend :

2.2.6 Rendu du texte

Vous pouvez envoyer du texte brut (sans annotation) au navigateur à l’aide de la touche :plain option pour rendre:

render plain: "OK"

Prime

Au lieu de render nothing: true (également supprimé), il faut maintenant utiliser head :ok. Fait la même chose: envoie le code de réponse http 200, juste les en-têtes, pas de contenu.

107
Sergio Tulentsev