Разница между <% form .. и <% = form - PullRequest
1 голос
/ 04 апреля 2011

Я использую рельсы версии 1.2.1.Как правило, я использовал тег формы как следующий стиль во всех моих проектах. <% form_tag({:action => 'xxx'} etc...) do %> .. <% end %>

Но, когда я увидел следующий учебный сайт, http://guides.rubyonrails.org/form_helpers.html, они указали тег формы следующим образом. <%= form_tag(search_path, :method => "get") do %> .. <% end %>

Итак, я просто попробую его использовать.Но это показывает ошибку.Почему они используют символ "=" в теге формы?В чем причина ошибки?.

Для чего нужен тег с равным и тег без равных.?(<% = ... и <% ...) </p>

Ответы [ 2 ]

6 голосов
/ 04 апреля 2011

Тег erb <%= expr %> встраивает значение expr в результирующий HTML, а <% expr %> просто оценивает expr для его побочных эффектов.

Семантика form_tag изменилась со времен Rails 3. Возможно, вы захотите продолжать использовать <% form_tag %> для версий рельсов до 3.0.

2 голосов
/ 04 апреля 2011

Если вы хотите визуализировать что-либо в конце браузера, вам нужно использовать «<% =», иначе «<%» Если вы используете <% = form_tag, он отобразит HTML-форму в браузере. </p>

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