Как показать элементы индекса и экземпляра на одной странице? - PullRequest
1 голос
/ 03 февраля 2011

У меня есть куча сообщений.

  • Я хочу, чтобы для действия index список постов отображался на боковой панели, а произвольный текст - справа.
  • Для действия по отображению определенного сообщения список сообщений должен по-прежнему отображаться на боковой панели, а само сообщение - справа. (Пожалуйста, смотрите прикрепленное изображение для более подробной информации)

enter image description here

Как это сделать в Rails? Что такое «правильный» путь?

UPDATE

@ coreyward, спасибо:
Итак, я бы имел:

  • _sidebar_list.html.erb (для списка сообщений)
  • index.html.erb => отображать боковую панель и произвольный текст
  • show.html.erb => отобразить боковую панель и опубликовать

Но тогда макет (левая боковая панель, правый контент) (черный ящик на изображении) нужно будет повторить в индекс и показать шаблоны. Решение этой проблемы - сделать еще один частичный (содержащий левую боковую панель, правый контент) и затем рендеринг этого частичного в index и show?

1 Ответ

1 голос
/ 03 февраля 2011

Я предполагаю, что вы знаете, как сделать HTML, и что вы уже знаете свой "случайный контент".Тем не менее, действие index должно быть довольно простым: захватить коллекцию постов и отобразить ссылки на них на боковой панели.Было бы целесообразно поместить их в частичное, например "_sidebar_list.html.erb", и отрендерить его оттуда так:

<%= render :partial => 'sidebar_list', :collection => @posts %>

Для вашего действия show вы бы хотели получить ту же коллекциюсообщений для отображения на боковой панели в вашем контроллере, таких как:

@post = Post.find(params[:id])
@posts = Post.all

Затем вы должны отобразить список боковых панелей в представлении шоу, в дополнение к отображению данных для текущего сообщения.

<nav>
  <!-- render line from above -->
</nav>

<article>
  <h1><%= @post.title</h1>
  ...
</article>

Надежда, которая поможет вам начать работу в правильном направлении.Не стесняйтесь комментировать, если вам что-то неясно.

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