Добавление тегов HTML (например, тега break) во встроенный блок Ruby

#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. Это сделало это!! Спасибо за вашу помощь!