Разница между: class и: id, при каких обстоятельствах мы обычно используем <% =%> и <%%> в Rails - PullRequest
1 голос
/ 05 июня 2011

когда мы используем помощников рельсов, таких как form_form, form_tag, много раз, особенно когда нам нужно использовать Javascript, используя опцию: html, которая поставляется вместе с этими помощниками, которые мы предоставляем :id => "some_value" and :class => "some_value". Я просто хотел понять, что отделяет «id» и «class» с точки зрения удобства использования. Это помогло бы мне лучше решить, когда мне нужно будет использовать любой из этих вариантов и когда мне придется использовать оба из них.

Кроме того,

Я просто хотел точно знать, при каких обстоятельствах мы используем <%= %> и когда мы будем использовать <% %> по отношению к Rails. До сих пор я видел их использование в различных обстоятельствах.

Было бы здорово, если бы вы могли ответить на эти вопросы с соответствующими, например,

Большое спасибо за ваше время ...

Ответы [ 2 ]

5 голосов
/ 05 июня 2011

Ваш вопрос 'class' vs 'id' действительно относится к лучшим практикам CSS. Вот некоторая информация об этом: http://css -tricks.com / the-разница-id-and-class /

Тег <%= %> ERB выводит результат выражения в теге, например ...

<%= ['hello', 'world'].join(' ') %>

Будет заменено на строку "Hello World"

Допустим, вы хотите установить переменную для последующего использования, для этого вы будете использовать теги <% %>, потому что вы еще не хотите выводить результат. Например:

<% my_var = "test" %>

Это ничего не выводит, но устанавливает переменную my_var для дальнейшего использования. Если вы использовали <%= по ошибке ...

<%= my_var = "test" %>

Этот тег будет заменен на "test" на полученной отрендеренной странице, что, вероятно, не то, что вы хотели сделать в этом случае. Другим распространенным применением тегов <% %> являются циклы.

<% ['item1','item2','item3'].each do |item| %>
  <li><%= item %></li>
<% end %>

Что приведет к:

<li>item1</li>
<li>item2</li>
<li>item3</li>

Надеюсь, это поможет прояснить некоторые ваши вопросы!

1 голос
/ 06 июня 2011

Еще одна вещь в Rails заключается в том, что после версии 3.0 помощники, такие как form_for и т. Д., Используют <%= %>, потому что он добавляет теги для вас в фоновом режиме.(Так как .each печатает только текст / код в блоке, =)

не требуетсяи <% %> просто запускает код.

Если вам действительно нужно что-то напечатать в <% %>, используйте # concat

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