2013-05-17 6 views
0

Я читаю Rails и много мест, я вижу это слово «шаблон»? Не подходит ли это для «Просмотр шаблонов», и что они означают, например, файл index.html.erb или show.html.haml в папке «Просмотр»?Что такое шаблон в Rails

Например вот http://guides.rubyonrails.org/layouts_and_rendering.html, когда они говорят о визуализации шаблона:

Если вы хотите, чтобы сделать вид, что соответствует различным действиям в одном шаблоне, вы можете использовать рендер с именем из вид:

И что же они подразумевают под "rendering"? Ну иногда мы говорим

оказывают

и мы имеем в виду перейти на другую страницу? иногда нет. Я имею в виду, что я не могу понять разницу между «рендерингом» и "redirect_to"

ответ

2

В Rails, шаблон и адрес представления более или менее одно и то же. Если view является «визуальным представлением ресурса», шаблон является конкретным представлением. Таким образом, представление обычно имеет представление для каждого формата, то есть у вас будет шаблон html, шаблон js, шаблон xml и т. Д.

Render означает, что вы разрешаете свои шаблоны в строки для отправки в качестве тела вашего ответа HTTP. Обычно вы создаете шаблон как тело вашего ответа. Внутри этого шаблона вы можете использовать вызов #render для визуализации подкомпонентов, что в Rails называются partials, html-фрагменты, которые используются более чем в одном месте и поэтому могут быть повторно использованы. Вы также используете #render внутри действия контроллера в предложении response_to, чтобы обратиться к шаблону, который хотите визуализировать, и это то, что означает этот бит.

Render означает, что ваш ответ будет иметь тело. redirect_to указывает браузеру, что ему нужно «идти куда-то еще», и этот ответ не имеет тела, поэтому ничего не отображает. Чтобы понять, что это значит, вы должны немного прочитать HTTP-протокол.

+0

"шаблон html, шаблон js, шаблон xml," ..... ах теперь я получаю это :) спасибо. –

Смежные вопросы