Sollte ich .erb oder .rhtml Dateien für eine Rails-Anwendung, in der alle Controller-Logik in Views existiert?

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

Frage

Ich fange gerade Rails zu lernen. Ich habe eine leere Rails-Anwendung. Und statt einen Controllers zu schreiben, möchte ich alle meine Controller-Logik in meinen Ansichten setzen statt in separaten Controller-Klassen.

Um dies zu tun, sollte ich .erb Dateien oder .rhtml Dateien und was ist der Unterschied?

War es hilfreich?

Lösung

Zunächst einmal sind sie praktisch die gleiche Sache, aber Sie sollten den neuen Standard verwenden Format .html.erb Benennung

Zweitens, stoppen, was Sie tun, und überdenken alles !!!!!

Der springende Punkt ist der MVC-Logik von der Anzeige zu trennen und umgekehrt. Die meisten Ihrer Logik in Ihren Modellen sein sollte, und die Steuerung sollte nur erleichtern diese Logik greifen und es zu einem Blick übergeben.

Sie sollten nichts in Ihren Ansichten nicht anders als die Daten anzuzeigen.

Andere Tipps

"Ein Kunde hat mich gebeten, ein eigenes Regalsystem zu bauen und zu installieren. Ich bin an dem Punkt, wo ich es nageln, aber ich bin nicht sicher, was in die Nägel zu verwenden, hämmern.

Soll ich einen alten Schuh oder eine Glasflasche?

In Ihrem Fall würde ich für die Glasflasche gehen .

In den neuen Schienen 3.0 .rhtml Dateien werden nicht mehr unterstützt. .html.erb ist der neue Standard.

Ich verstehe, dass Sie eine kleine App haben und Standards Sie nicht wirklich anwenden, aber das ist der ganze Sinn der MVC. Die Logik sollte die Steuerung / Modell gehen und die Aussicht ist strikt für die Präsentation.

Die einfache Antwort auf Ihre Frage ist nicht. Nein, Sie sollten nicht Controller-Logik in den Ansichten stellen. Wenn Sie keine Controller benötigen, dann brauchen Sie wahrscheinlich nicht Schienen. Ich weiß, das ist nicht die Antwort, die Sie wollen, aber ehrlich gesagt sind Sie falsch, schlicht und einfach. Wenn Sie den Rails-Framework lernen wollen, dann, was Sie hier gesagt worden sind richtig und es Ihre Art und Weise zu tun, würde einfach dann entweder bedeuten, verlernen, was du gerade getan hast oder es würde bedeuten, ein schlechter Entwickler zu werden.

Das ist so, wie es ist, der Rest ist nun an Ihnen.

Ja, Sie sind richtig, dass in den Macher von Schienen nie festgestellt, dass Sie nicht Schienen für kleinere Anwendungen verwenden sollten, aber sie haben gesagt, immer und immer wieder die Bedeutung der Steuerung.

Ich habe eine leere Rails-Anwendung. Und statt einen Controllers zu schreiben, möchte ich alle meine Controller-Logik in meinen Ansichten setzen statt in separaten Controller-Klassen.

Nur aus Neugier, welche Art von Logik erwägen Sie in Ihre Ansichten setzen? Wenn es Präsentationslogik ist, dann ist das eine Sache, aber wenn es Geschäftsregeln ist, Laden von Daten aus einer Datenbank, XML-Datei, Web-Service / Rest basierte dann werden Sie die Grundprinzipien der Schienen zu verletzen. Schon mal was von ASP (Classic Active Server Pages)? Frameworks haben darüber hinaus, um die Nachteile und Gefahren wie ASP zu überwinden, damit entwickelte sich nicht Präsentation und Code zu mischen. Wenn Sie sie alle zusammen jammen, wie werden Sie Einheit Ihren Code testen? Ein weiteres wichtiges Prinzip der Schienen Deshalb ist es in den Rahmen selbst im Gegensatz zu anderen Web-Frameworks integriert ist.

Ich möchte lernen, wie man den "Standard" Ruby-Framework verwenden

Ihre Antworten Sie immer erwähnen Sie die Standard-Ruby-Framework lernen wollen? Wenn dies der Fall ist, warum Sie nicht irb verwenden dann? Rails ist nicht Teil des Standard-Ruby-Framework. In der Tat werden Sie wahrscheinlich viel mehr zu Ruby lernen mit irb dann werden Sie Rails. Sobald Sie sich mit Rubin dann nehmen auf Schienen vertraut gemacht haben.

Ich stimme mit den anderen, und wenn Sie sich die Zeit nehmen werden, einen Rahmen zu lernen, ist es dann richtig lernen und als Schöpfer gedacht, sonst Sie fehlen den Punkt und Sie werden nicht sehen, warum Schienen ist so eine gute Web Rahmen zu beginnen. Was Sie hoffen, in einer Reihe von Web-Technologien zu erreichen kann getan werden: ASP, ASP.Net, PHP, JSP, Perl, aber Sie wählen deshalb Ruby und Rails zu lernen, tun es nicht das gleiche wie Sie können in einer der andere Web-Technologien.

zu MVC Getreu ist der Weg zu gehen, eine Anwendung zu bauen. Wenn Sie unsicher sind, warum Steuerung benötigt wird, dann tut die Forschung. ich habe konfrontiert Code beibehalten wird, wo die Scripte in der Präsentationsschicht eingebettet ist. Es ist eine Farce jeden Engineering-Aufwand, ohne ein gründliches Verständnis zu beginnen die korrekten, Zeit getestet Methodik. Es ist wie der Versuch, ein Haus zu bauen Verwendung keine Grundlage oder Plan.

Nichts, wirklich. Es ist nur eine Änderung der Philosophie zwischen Schienen 1 und Rails 2. Vor Rails 2, müssen file.rhtml, file.rxml und file.rjs. In Rails, die geändert file.content_type.template_engine. html So mit file.html.erb, ist der Inhaltstyp und die Template-Engine ist ERb. rxml ist jetzt xml.builder und rjs sollte jetzt (meistens) sein js.rjs

In den neuen Schienen 3.0 .rhtml Dateien werden nicht mehr unterstützt. .html.erb ist der neue Standard.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top