Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > Перечисление


Автор: DimanLin 10.2.2009, 14:49
Контроллер: @files = Dir["*"]

Представление: <%[email protected] {|x| print x, "<br />" }%>

На выходе: READMEscriptlibtestdocapptmplogconfigpublicdbRakefilevendornbproject

Почему <br /> между словами не вставляется?


=======http://www.ruby-doc.org/docs/ProgrammingRuby/html/ref_c_array.html#Array.each============

Calls block once for each element in arr, passing that element as a parameter.

Код

a = [ "a", "b", "c" ]
a.each {|x| print x, " -- " }

produces:

a -- b -- c --

===============================================================================

Автор: one111 10.2.2009, 19:39
попробуй так:
Код

 <%[email protected] {|x| print x, "\n" }%>

\n - перевод на новую строку
или так:
Код

<%[email protected] {|x| puts x }%>

т.к. разница в print и puts в том, что puts автоматически печатает "\n"


Автор: DimanLin 10.2.2009, 21:17
не работает, мне нужен не \n а <br />

Автор: one111 10.2.2009, 21:49
что именно не работает? первый или второй вариант?
попробуй все же  puts
а еще есть такой глюк - после закрывающего тега </p> следующий текст начинается с новой строки

Автор: fixxer 11.2.2009, 00:08
 
Код

<% @files.each do |file| %>
  <%= file %>
  <br/>
<% end %>


или

Код

<%= @files.join('<br/>') %>

Автор: kronos_vano 12.2.2009, 05:02
Использование puts и print в view Rails неправильно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)