Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 合并当前用户帖子&;随动杆,带随动轨道4_Ruby On Rails_Ruby On Rails 4_Activerecord - Fatal编程技术网

Ruby on rails 合并当前用户帖子&;随动杆,带随动轨道4

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

我试图在一个视图中显示当前的_用户帖子和他或她正在关注帖子的用户。不管出于什么原因,我已经创建的帖子没有加载到视图中。目前数据库中有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').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”。你知道为什么吗?