27 votes

Comment puis-je spécifier ":layout 'faux" dans Rails-#39; respond_with?

J’ai cette configuration:

Maintenant, j’essaie de le faire ainsi, si , . Comment puis-je faire cela avec ou et inherited_resources?

39voto

Yannis Points 3712

Quelque chose comme:

28voto

Anthony Bishopric Points 860

En supposant que vous avez besoin de JSON pour une demande Ajax

Cela semble être la solution la plus propre pour moi.

16voto

Jeremy Points 3057

Ou pour vous éviter d’avoir à coder des réponses pour chaque format dans chaque action.

Si vous n’avez pas de mises en page pour l’une des actions dans ce contrôleur, il serait plus agréable de le faire:

8voto

choonkeat Points 4457

J’adore la solution de @anthony, mais je n’ai pas fonctionné pour moi... J’ai dû faire:

ps: l’affichage d’une "réponse" au lieu d’un commentaire parce que stackoverflow commentaire formatage et "clé de retour - soumettre" est exaspérant!

4voto

Jonathan Allard Points 3754

Je viens de trouver ceci:

Même si c'est du JSON, les Rails sont toujours à la recherche d'un modèle. En tant que tel, la seule mise en page qu'il trouve, dans notre cas, est - application.html.

Solution: Faire un JSON mise en page.

Ainsi, par exemple, si vous mettez un vide application.json.erb avec un seul = yield à l'intérieur, à côté de votre code HTML à un, la mise en page HTML est amélioré par le JSON un. Vous pouvez même l'utiliser pour entourer votre JSON avec des métadonnées ou des choses comme ça.

<%# app/views/layouts/application.json.erb %>

<%= yield %>

Pas d'autres paramètres nécessaires, il fonctionne automatiquement!

Testé dans les Rails 4 seulement

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X