Какая разница между <% code%> и <% = code%> в Rails erb? Кажется, есть разница между ними, хотя я не могу точно сказать, что именно. <% code %> и <%= code %> Ответ 1 <% %> будет оценивать код ruby, содержащий <%= %> будет оценивать и отображать код, содержащий Итак, шаблон содержит: Hello <% user.name %> how are you? ... выводит: Hello how are you ... в то время как... Hello <%= user.name %> how are you? ... выводит: Hello fred how are you <% %> обычно используется для итераторов <ul> <% @users.each do |user| %> <li><%= user.name %></li> <% end %> </ul> Ответ 2 <% и %> оценивают только код ruby между ними, а <%= и %> выводят результат оценки. Не смешивайте, хотя Это приведет к выводу "foo" в журнал доступа и nil на вывод браузера <%= puts "foo" %> while <%= "foo" %> выводит строку "foo" в браузер. Ответ 3 <%= %> печатает возвращаемое значение инструкции кода в браузере, а <% %> выполняет только код.
Ответ 1 <% %> будет оценивать код ruby, содержащий <%= %> будет оценивать и отображать код, содержащий Итак, шаблон содержит: Hello <% user.name %> how are you? ... выводит: Hello how are you ... в то время как... Hello <%= user.name %> how are you? ... выводит: Hello fred how are you <% %> обычно используется для итераторов <ul> <% @users.each do |user| %> <li><%= user.name %></li> <% end %> </ul>
Ответ 2 <% и %> оценивают только код ruby между ними, а <%= и %> выводят результат оценки. Не смешивайте, хотя Это приведет к выводу "foo" в журнал доступа и nil на вывод браузера <%= puts "foo" %> while <%= "foo" %> выводит строку "foo" в браузер.
Ответ 3 <%= %> печатает возвращаемое значение инструкции кода в браузере, а <% %> выполняет только код.