Ruby on rails 使用用户属性的Ruby on Rails where语句

Ruby on rails 使用用户属性的Ruby on Rails where语句,ruby-on-rails,Ruby On Rails,所以基本上我想要这样的东西: @network = Network.where(:id => current_user.network_ids).first @posts = Post.where(:user.network.first => @network).order("created_at DESC") 但它基本上无法识别第二行中的列:user,因为真正的列是user\u id。我甚至试过: @posts = Post.where('User.find(user_id).n

所以基本上我想要这样的东西:

@network = Network.where(:id => current_user.network_ids).first
@posts = Post.where(:user.network.first => @network).order("created_at DESC")
但它基本上无法识别第二行中的列
:user
,因为真正的列是
user\u id
。我甚至试过:

@posts = Post.where('User.find(user_id).network.first =?',network )  
不走运

关于我如何处理这个问题的任何想法

型号:

 class User
    has_and_belongs_to_many :network
    has_many :posts
  end
  class Network
    has_and_belongs_to_many :user
  end
  class Post
    belongs_to :user
  end

我基本上想根据当前用户的网络过滤帖子,正如我所看到的,你有属于某个用户的
帖子,然后
用户
有许多
网络
,因此你的查询应该是

@posts = Post.where(:user.networks.first => @network).order("created_at DESC")
你的电话是

:user.network.first

哪个状态的用户与网络有一个关系,所以我使用以下方法简单地解决了这个问题:

@posts = Post.where('user_id = ?', @network.user_ids)

一般来说,你能告诉我你想做什么吗?你的模型是如何连接的。发布你的模型代码。@ShamsulHaque模型代码posted@SebastiánPalma模型代码postedWell,考虑到您的模型或原始问题,所有这些都没有意义。