Rails - создайте промежуточный класс с информацией из нескольких несвязанных таблиц - PullRequest
0 голосов
/ 01 июня 2019

Я все еще изучаю Rails, так что, пожалуйста, потерпите меня, и, возможно, есть лучший способ сделать то, что я пытаюсь!

Я использую Rails 5.2.1

У меня есть две модели: статьи и блоги. Обе модели содержат title (строка), description (строка), photo (строка) и date (дата). Таблицы не имеют никакого отношения между ними.

Они должны быть разными таблицами, поскольку у статей и блогов есть и другие столбцы (например, в блоге есть content, а в статье - url).

Я создаю отдел новостей, где я хотел бы показать карточки блогов и статей вместе, упорядоченные по дате с title, description, photo и date. Я знаю, что мне нужно создать промежуточный класс, чтобы использовать AR-запросы к order_by, и я также хотел бы использовать will_pagination в представлении. Поэтому мне нужна помощь в создании класса.

С тем, что я имею ниже, блоги и статьи упорядочены по дате, однако неудивительно, что все блоги появляются до первой статьи.

Контроллер

    @blogs = Blog.all.order(date: :desc)
    @articles = Article.all.order(date: :desc)
    @posts = (@blogs + @articles)

View

    <% @posts.each do |post| %>
      <%= post.photo %>
      <%= post.date%>
      <%= post.title %>
      <%= post.description %>
    <% end %>
...