Ruby on rails 合并当前用户帖子&;随动杆,带随动轨道4
我试图在一个视图中显示当前的_用户帖子和他或她正在关注帖子的用户。不管出于什么原因,我已经创建的帖子没有加载到视图中。目前数据库中有5个 进给控制器Ruby on rails 合并当前用户帖子&;随动杆,带随动轨道4,ruby-on-rails,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby On Rails 4,Activerecord,我试图在一个视图中显示当前的_用户帖子和他或她正在关注帖子的用户。不管出于什么原因,我已经创建的帖子没有加载到视图中。目前数据库中有5个 进给控制器 def feed following_ids = current_user.following_users.map(&:id) @following_activities = Post.where('user_id in (?)', following_ids.push).order('created_at desc').pagin
def feed
following_ids = current_user.following_users.map(&:id)
@following_activities = Post.where('user_id in (?)', following_ids.push).order('created_at desc').paginate(page: params[:page])
end
feed.html.erb
<% if @following_activities.any? %>
<% @following_activities.each do |user| %>
<%= link_to(image_tag(user.post.avatar.url(:thumb), style: 'text-decoration: none;', class: 'round-image'), user_path(user)) %>
<%= user.post.username %>
<%= user.post.body %>
<%= image_tag(user.post.photo.url(:medium), style: '') %>
<% end %>
<% else %>
<h1>No new posts</h1>
<% end %>
没有新职位
似乎您没有将任何内容推送到id数组,您应该推送当前用户.id
。您可以使代码稍微干净一些,如:
user_ids = current_user.following_users.pluck(:id).push(current_user.id)
@following_activities = Post.where(user_id: user_ids).order('created_at desc').paginate(page: params[:page])
通过三个步骤,我可以将两者结合起来,现在它工作正常了
def feed
following_ids = current_user.following_users.map(&:id)
following_ids << current_user.id
@following_activities = Post.where(user_id: following_ids).order("created_at desc").paginate(page: params[:page])
end
def提要
following_id=当前_用户。following_用户。映射(&:id)
在使用您的查询方法时,下面的ID现在表示未定义的方法“avatar”。你知道为什么吗?