从rails开始有一些问题。
我正在创建一个目录,最初,所有添加内容都将显示为已批准的false,直到我手动批准它们为止。
我正在创建管理界面,我可以点击“批准”,因此我需要显示属性为approved = false的所有商家信息。
以下是代码:
def listings
@listings = Listing.find(:all, :conditions => "approved = false")
end
这是错误
Couldn't find all Listings with 'id': (all, {:conditions=>"approved = false"}) (found 0 results, but was looking for 2)
一点帮助就会很棒,谢谢!
答案 0 :(得分:3)
您使用的是非常旧的find
语法(Rails 2.0)。
较新的语法不再使用:all,并且不再将条件传递给find
方法。假设您使用的是Rails 4,则等效于
def listings
@listings = Listing.where(approved: false)
end
你可以使用.all
,但在这种情况下它只是语法糖。
def listings
@listings = Listing.where(approved: false).all
end
答案 1 :(得分:1)
您尝试使用Rails 2.x中的语法。你应该这样做:
@listings = Listing.where(approved: false)