#html #ruby-on-rails #ruby
#HTML #ruby-on-rails #ruby
Вопрос:
Примечание: я новичок в Ruby on Rails, поэтому извините за этот вопрос, если он кажется слишком очевидным. Но, хоть убейте, я не могу понять, где добавить тег разрыва HTML в этот код Ruby, чтобы элементы располагались друг над другом, а не рядом друг с другом.
<p>
<strong>Genres:</strong>
<%= @book.authors.map {|a| a.name}.join(', ') %>
</p>
Я добавил тег break после %> и перед ним, внутри области метода соединения с запятой и везде, где вы можете себе представить, и ничего не работает, он просто последовательно размещает результаты данных рядом друг с другом. Я уверен, что это что-то простое, но я не могу понять.
Любая помощь по этому вопросу будет оценена.
Комментарии:
1. Вы хотите, чтобы авторы книг отображались под заголовком «Жанры»?
2. Вы пробовали
join('<br/>')
?3. Это не сработало. Он добавил тег <br> в виде текста, объединенного с данными.
Ответ №1:
Типичный способ Rails сделать это с for
each
помощью цикла or:
<p>
<strong>Authors:</strong>
<% for author in @book.authors %>
<%= author.name %><br/>
<% end %>
</p>
for
Оператор также может быть @book.authors.each do |author|
. С точки зрения HTML и CSS, я бы сказал, что гораздо лучше поместить каждого автора в свой собственный элемент контейнера, например , <li>
, который может быть оформлен так, как вы хотите.
Комментарии:
1. Это сделало это!! Спасибо за вашу помощь!