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:我也很专业。只是,你知道,列出所有选项。