Devrais-je utiliser des fichiers .erb ou .rhtml pour une application Rails dans laquelle toute la logique du contrôleur existe dans les vues?

StackOverflow https://stackoverflow.com/questions/821010

Question

Je commence juste à apprendre Rails. J'ai créé une application Rails vide. Et au lieu d'écrire un contrôleur, je veux mettre toute ma logique de contrôleur dans mes vues plutôt que dans des classes de contrôleur séparées.

Pour ce faire, dois-je utiliser des fichiers .erb ou .rhtml et quelle est la différence?

Était-ce utile?

La solution

Tout d’abord, c’est pratiquement la même chose, mais vous devez utiliser le nouveau format de nommage standard de .html.erb

Deuxièmement, arrêtez ce que vous faites et revoyez tout !!!!!

L’intérêt de MVC est de séparer la logique de l’affichage et inversement. La plupart de votre logique devrait se trouver dans vos modèles et le contrôleur devrait simplement faciliter son acquisition et la transmettre à vos vues.

Vous ne devez rien faire d'autre dans vos vues que d'afficher les données.

Autres conseils

"Un client m'a demandé de créer et d'installer un système de rayonnage personnalisé. Je suis sur le point de réussir, mais je ne sais pas quoi utiliser pour casser les ongles.

Devrais-je utiliser une vieille chaussure ou une bouteille de verre?

Dans votre cas, je choisirais le bouteille en verre .

Dans les nouveaux rails 3.0, les fichiers .rhtml ne seront pas pris en charge. .html.erb est la nouvelle norme.

Je comprends que vous avez une petite application et que les normes ne vous concernent pas vraiment, mais c'est tout l'intérêt de MVC. La logique doit aller dans le contrôleur / modèle et la vue est strictement pour la présentation.

La réponse simple à votre question est non. Non, vous ne devriez pas mettre la logique du contrôleur dans les vues. Si vous n'avez pas besoin de contrôleurs, vous n'avez probablement pas besoin de rails. Je sais que ce n'est pas la réponse que vous voulez, mais franchement, vous vous trompez, purement et simplement. Si vous voulez apprendre le framework Rails, alors ce que vous avez dit ici est correct et le faire à votre façon signifierait alors simplement soit désapprendre ce que vous venez de faire, soit devenir un mauvais développeur.

C'est comme ça, le reste est maintenant à vous.

Oui, vous avez raison de dire que les créateurs de rails n'ont jamais indiqué qu'il ne fallait pas utiliser les rails pour les applications plus petites, mais ils ont répété à maintes reprises l'importance du contrôleur.

J'ai créé une application Rails vide. Et au lieu d’écrire un contrôleur, je souhaite mettre toute ma logique de contrôleur dans mes vues plutôt que dans des classes de contrôleur séparées.

Juste par curiosité, quel type de logique envisagez-vous de mettre dans vos vues? Si c'est une logique de présentation, alors c'est une chose, mais s'il s'agit de règles métier, le chargement de données depuis une base de données, un fichier xml, un service Web / repos est basé sur une violation des principes de base des rails. Avez-vous déjà entendu parler d'ASP (Classic Active Server Pages)? Les frameworks ont évolué au-delà de cela pour surmonter les faiblesses et les pièges tels que ASP pour vous permettre de ne pas mélanger présentation et code. Si vous bloquez tout cela ensemble, comment allez-vous tester votre code? Un autre principe clé des rails est la raison pour laquelle il est intégré au cadre, contrairement aux autres cadres Web.

Je souhaite apprendre à utiliser le " standard " Cadre Ruby

Dans vos réponses, vous continuez de mentionner que vous souhaitez apprendre le framework Ruby standard? Si tel est le cas, pourquoi n'utilisez-vous pas irb? Rails ne fait pas partie du framework Ruby standard. En fait, vous en apprendrez probablement beaucoup plus sur Ruby en utilisant irb, puis Rails. Une fois que vous vous êtes familiarisé avec Ruby, prenez des rails.

Je suis d’accord avec les autres et si vous prenez le temps d’apprendre un cadre, apprenez-le correctement et comme le créateur l’a voulu, sinon vous ratez le problème et vous ne verrez pas pourquoi rails est un si bon Web cadre pour commencer. Ce que vous espérez accomplir peut être réalisé dans un certain nombre de technologies Web: ASP, ASP.Net, PHP, JSP, Perl, mais vous choisissez d’apprendre Ruby et les rails. Par conséquent, ne le faites pas de la même façon que vous pourriez le faire autres technologies Web.

L'adhésion à MVC est le moyen de créer une application. Si vous n'êtes pas certain de savoir pourquoi Controller est nécessaire, effectuez la recherche. j'ai face à maintenir le code où les scripts sont incorporés dans la couche de présentation. Il est ridicule de commencer tout effort d'ingénierie sans une compréhension approfondie de la méthodologie correcte, testée dans le temps. C'est comme essayer de construire une maison ne pas utiliser de fondation ou de schéma directeur.

Rien, vraiment. C’est juste un changement de philosophie entre Rails 1 et 2. Avant Rails 2, vous aviez fichier.rhtml, fichier.rxml et fichier.rjs. Dans Rails, cela a changé pour file.content_type.template_engine. Ainsi, avec file.html.erb, le type de contenu est html et le moteur de modèle est ERb. rxml est maintenant xml.builder et rjs devrait maintenant (principalement) être js.rjs

Dans les nouveaux rails 3.0, les fichiers .rhtml ne seront pas pris en charge. .html.erb est la nouvelle norme.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top