Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 为什么@communities=Community.find_by_author(params[:author])赢得';不行?_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 为什么@communities=Community.find_by_author(params[:author])赢得';不行?

Ruby on rails 为什么@communities=Community.find_by_author(params[:author])赢得';不行?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个名为社区 在communities表中,我确实有一个名为author的属性 我有模型/community.rb 然而,这是行不通的。为什么? @communities = Community.find_by_author(params[:author]) find_by将只给出第一条匹配记录。因此,使用where获取所有匹配的记录 Community.where(:author => params[:author]) 模型文件应该是community.rb,而不是commun

我有一个名为
社区

在communities表中,我确实有一个名为
author
的属性

我有模型/community.rb

然而,这是行不通的。为什么?

@communities = Community.find_by_author(params[:author])

find_by
将只给出第一条匹配记录。因此,使用
where
获取所有匹配的记录

 Community.where(:author => params[:author])

模型文件应该是
community.rb
,而不是
communities.rb
@SergioTulentsev很抱歉,这是我的打字错误。按作者查找将只返回一条记录,而不是多条记录。不管怎样,你在@communities中得到了什么这就是实现的方式。。它返回第一条匹配的记录。@MKK,因为它就是这样工作的。或者
Community.find_all_by_author(params[:author])
(至少它以前在rails 2.x中工作过)是否有错误的哈希语法?它应该是
author:params[:author]
:author=>params[:author]
,不是吗?@SergioTulentsev您不能在Rails 2中使用
where
。这就是我们使用finder方法的原因。但是,当你有时间的时候,最好使用
where
。很好的解释:@checkit:我也很专业。只是,你知道,列出所有选项。