Должен ли я использовать файлы .erb или .rhtml для приложения Rails, в котором вся логика контроллера существует в представлениях?

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

Вопрос

Я только начинаю изучать Rails. Я создал пустое приложение Rails. И вместо того, чтобы писать контроллер, я хочу поместить всю мою логику контроллера в свои представления, а не в отдельные классы контроллера.

Для этого мне следует использовать файлы .erb или .rhtml и в чем разница?

Это было полезно?

Решение

Прежде всего, это практически одно и то же, но вы должны использовать новый стандартный формат именования .html.erb

Во-вторых, прекратите то, что вы делаете, и пересмотрите все !!!!!

Смысл MVC в том, чтобы отделить логику от дисплея и наоборот. Большая часть вашей логики должна быть в ваших моделях, и контроллер должен просто облегчать захват этой логики и передачу ее вашим представлениям.

Вы не должны делать в своих представлениях ничего, кроме отображения данных.

Другие советы

" Клиент попросил меня собрать и установить систему стеллажей. Я нахожусь в точке, где мне нужно прибить это, но я не уверен, что использовать, чтобы вбить гвозди.

Должен ли я использовать старый ботинок или стеклянную бутылку?

В вашем случае я бы взял стеклянную бутылку .

В новых rails 3.0 .rhtml файлы не будут поддерживаться. .html.erb - это новый стандарт.

Я понимаю, что у вас небольшое приложение, и стандарты к вам не относятся, но в этом и заключается весь смысл MVC. Логика должна идти в контроллер / модель, и представление строго для представления.

Простой ответ на ваш вопрос - нет. Нет, вы не должны помещать логику контроллера в представления. Если вам не нужны контроллеры, то вам, вероятно, не нужны рельсы. Я знаю, что это не тот ответ, который вы хотите, но, честно говоря, вы не правы, чисты и просты. Если вы хотите изучить фреймворк Rails, то, что вам сказали здесь, правильно, и сделать это по-своему будет просто означать либо отучиться от того, что вы только что сделали, либо это будет означать стать плохим разработчиком.

Так оно и есть, остальное теперь зависит от вас.

Да, вы правы в том, что создатели рельсов никогда не заявляли, что вы не должны использовать рельсы для небольших приложений, но они неоднократно заявляли о важности контроллера.

Я создал пустое приложение Rails. И вместо того, чтобы писать контроллер, я хочу поместить всю мою логику контроллера в свои представления, а не в отдельные классы контроллера.

Просто из любопытства, какую логику вы рассматриваете в своих взглядах? Если это логика представления, то это одно, но если это бизнес-правила, загрузка данных из базы данных, XML-файла, веб-службы / отдыха на основе, то вы нарушаете основные принципы рельсов. Вы когда-нибудь слышали о ASP (Classic Active Server Pages)? Фреймворки развились за пределы этого, чтобы преодолеть недостатки и подводные камни, такие как ASP, чтобы позволить вам не смешивать презентацию и код. Если вы соберете все вместе, как вы будете тестировать свой код? Еще один ключевой принцип рельсов, поэтому он встроен в сам фреймворк в отличие от других веб-фреймворков.

Я хочу узнать, как использовать " стандарт " Ruby Framework

В своих ответах вы постоянно упоминаете, что хотите изучить стандартную среду Ruby? Если это так, почему бы вам не использовать irb? Rails не является частью стандартной среды Ruby. На самом деле вы, вероятно, узнаете намного больше о Ruby, используя irb, чем Rails. После того, как вы познакомитесь с Ruby, возьмите рельсы.

Я согласен с остальными, и если вы собираетесь потратить время на изучение фреймворка, изучите его правильно и в соответствии с намерениями создателя, в противном случае вы упускаете суть и не поймете, почему rails такой хороший веб рамки для начала. То, что вы надеетесь достичь, может быть сделано с помощью ряда веб-технологий: ASP, ASP.Net, PHP, JSP, Perl, но вы выбираете изучение Ruby и rails, поэтому не делайте этого так же, как в любой из другие веб-технологии.

Присоединение к MVC - это способ приступить к созданию приложения. Если вы не уверены, зачем нужен контроллер, тогда проведите исследование. я имею сталкивался с поддерживающим кодом, в котором скрипты встроены в уровень представления. Фарсово начинать любые инженерные работы без тщательного понимания правильной, проверенной временем методологии. Это все равно что пытаться построить дом без использования фундамента или плана.

Ничего, правда. Это всего лишь изменение философии между Rails 1 и Rails 2. До Rails 2 у вас были file.rhtml, file.rxml и file.rjs. В Rails это изменилось на file.content_type.template_engine. Таким образом, для файла file.html.erb тип содержимого html, а механизм шаблонов - ERb. rxml теперь xml.builder, а rjs теперь должен (в основном) быть js.rjs

В новых версиях 3.0 .rhtml файлы не поддерживаются. .html.erb - это новый стандарт.

scroll top