为什么这个activerecord查找查询会抛出错误?

时间:2017-07-02 19:34:27

标签: ruby-on-rails ruby activerecord

one - two
one - three
one - four
two - three
two - four
three - four

错误:无法找到所有带有' :(全部,{:order =>" title"})

的电影
@movies = Movie.find(:all, :order => (params[:sort]))

作品。

点击此处,第一个片段似乎应该有效: https://apidock.com/rails/ActiveRecord/Base/find/class

2 个答案:

答案 0 :(得分:2)

  

错误:无法找到所有带有'id'的电影:(全部,{:order =>“title”})

@movies = Movie.find(:all, :order => (params[:sort]))

这是因为上述查询仅适用于 Rails 2.x 及更早版本。在更高版本的Rails 中,查询将无效!

  

点击此处,第一个片段似乎应该有效:   https://apidock.com/rails/ActiveRecord/Base/find/class

您正在研究旧版本的Rails(2.3.8)。您可以找到对较新版本here

的引用

答案 1 :(得分:0)

find方法会将参数想象为主键的值,在大多数情况下是id,所以在大多数情况下你应该将id提供为int,string或array。