Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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 搜索另一个对象以比较中的值将分页_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 搜索另一个对象以比较中的值将分页

Ruby on rails 搜索另一个对象以比较中的值将分页,ruby-on-rails,ruby,Ruby On Rails,Ruby,这是我通常对正在搜索的社区主题用户进行分页的方式,因为我可以直接检查用户名是否等于搜索的参数,但在这种情况下,具体存储的是用户id,而不是我无法比较的字符串。自从我编写rails代码以来已经有几个月了,所以我很确定我错过了一些简单的关联方法,希望能得到正确方向的指导 对不起,如果我忽略了一些愚蠢的事情。由于某种原因,它在我的脑海中游荡。假设您在params[:search]中传递用户名。更新您的查询,如下所示: @community_topics = CommunityTopic.page(pa

这是我通常对正在搜索的社区主题用户进行分页的方式,因为我可以直接检查用户名是否等于搜索的参数,但在这种情况下,具体存储的是用户id,而不是我无法比较的字符串。自从我编写rails代码以来已经有几个月了,所以我很确定我错过了一些简单的关联方法,希望能得到正确方向的指导


对不起,如果我忽略了一些愚蠢的事情。由于某种原因,它在我的脑海中游荡。

假设您在params[:search]中传递用户名。更新您的查询,如下所示:

@community_topics = CommunityTopic.page(params[:page]).order('updated_at DESC').where(["username = ?", params[:search]])
@community_topics = CommunityTopic.joins(:user).order(updated_at: :desc).where("users.username = ?", params[:search]).page(params[:page])
如果您在参数[:search]
中传递用户id。更新您的查询,如下所示:

@community_topics = CommunityTopic.page(params[:page]).order('updated_at DESC').where(["username = ?", params[:search]])
@community_topics = CommunityTopic.joins(:user).order(updated_at: :desc).where("users.username = ?", params[:search]).page(params[:page])

我想执行如下操作,直接检查关联ID的用户名参数是否等于搜索参数@community_topics=CommunityTopic.page(params[:page]).order('updated_at DESC')。其中(user.username:params[:search]),
CommunityTopic
user
有何关系?你能分享问题中的模型吗?CommunityTopics是由用户创建的,用户被认为是使用“归属”进行关联的所有者。你使用的Rails版本是什么?你在params[:search]中得到了什么?用户名还是用户id?