Что значит добавить дефис к закрывающему тегу в цикле ruby ​​<% -%> - PullRequest
3 голосов
/ 01 апреля 2010

Я новичок в этом и не могу понять, почему дефис добавляется в нечто вроде этого:

Даже не уверен, что мой жаргон в названии этого вопроса является точным.

Ответы [ 4 ]

10 голосов
/ 01 апреля 2010

добавление "-" удалит разрыв строки для этой строки

2 голосов
/ 01 апреля 2010

Это означает просто:

Поместите любой текст (HTML), следующий за <% -%>, на следующую строку в отображаемом шаблоне.

1 голос
/ 01 апреля 2010

Дефис не является обязательным в приведенном выше коде. Простого добавления <% end%> достаточно для запуска встроенного рубина.

Использование дефиса полностью объяснено здесь и по существу влияет на визуализированный html. В вашем случае дефис делает следующее:

1   Hyphen at the end of the tag, just the two spaces
2   before the tag on the line below will be left
3   <% -%>
4   Last line

Код будет выводиться с двумя пробелами перед «Последней строкой» чуть ниже вашего тега <% -%>

0 голосов
/ 01 апреля 2010

Это означает, что он добавит \ n (или, может быть, \ r \ n, я забыл, какой) к строке. Это просто влияет на форматирование HTML.

Так что, если сделал:

>> helper.image_tag "image.jpg"
=> "<img alt=\"Image\" src=\"/images/image.jpg\" />"

будет выводиться что-то вроде:

"<img alt=\"Image\" src=\"/images/image.jpg\" />\r\n"

То есть ваша HTML-страница будет выглядеть так:

<image tag>
<whatever other tag>

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

...