Я не уверен, что неверно в моем операторе запроса

#ruby-on-rails #postgresql #ruby-on-rails-3 #ruby-on-rails-4 #ruby-on-rails-5

#ruby-on-rails #postgresql #ruby-on-rails-3 #ruby-on-rails-4 #ruby-on-rails-5

Вопрос:

Это оператор запроса, который я написал. Я пытаюсь получить и распечатать все сообщения, где значение requestor == current_user.id

 @posts = Post.joins(user: :follows).where(follows: { requestor: current_user.id }).order(created_at: :desc)
  

В настоящее время этот оператор запроса только распечатывает сообщение current.id и умножает каждое на количество перечисленных запросов.

requestor является частью :follows таблицы, которая содержит user.id . Я опубликую таблицы follows и posts ниже. Пользовательские таблицы используют basic devise.

 # Table name: follows
#
#  id         :bigint           not null, primary key
#  following  :bigint
#  requestor  :bigint
#  created_at :datetime         not null
#  updated_at :datetime         not null
#  user_id    :bigint
#
# Indexes
#
#  index_follows_on_user_id  (user_id)
#
# Foreign Keys
#
#  fk_rails_...  (user_id => users.id)
#
  
 # Table name: posts
#
#  id         :bigint           not null, primary key
#  attachment :string
#  content    :text
#  created_at :datetime         not null
#  updated_at :datetime         not null
#  user_id    :bigint
#
# Indexes
#
#  index_posts_on_user_id  (user_id)
#
# Foreign Keys
#
#  fk_rails_...  (user_id => users.id)
#
  

Любая помощь будет с благодарностью!

введите описание изображения здесь

Это цикл просмотра.

 <div class="table-responsive">
  <table class="table table-striped table-bordered table-hover">
    <thead>
      <tr>
    

            <th>Attachment</th>
            <th>Content</th>
            <th></th>
            
          <th></th>
        
      </tr>
    </thead>

    <tbody>
      <% @posts.each do |post| %>
        <%= content_tag :tr, id: dom_id(post), class: dom_class(post) do %>
          

                      <td><%= post.attachment %></td>
                      <td><%= post.content %></td>
          
          
            <td><%= link_to 'Edit', edit_post_path(post) %></td>

          
        <% end %>
      <% end %>
    </tbody>
  </table>
</div>
  

Комментарии:

1. Добавьте ассоциацию пользователей и пример ввода и вывода табличных данных

2. Ассоциация уже присутствовала. В пользовательской модели есть две ассоциации has_many, одна для follow и одна для post. Я добавил некоторые образцы выходных данных в сообщение.

3. Можете ли вы опубликовать цикл в своем коде представления? Я подозреваю, что в этом и заключается ваша проблема.

4. Я только что добавил цикл в представление.

5. @Isaiah Я прошу вас предоставить пример входных и выходных данных таблицы. Я не понимаю, что вы добавили