Ruby on rails RubyonRails 4查找具有顺序和限制等效项

Ruby on rails RubyonRails 4查找具有顺序和限制等效项,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我需要非常快地将我的应用程序控制器更新到rails 4,但我不知道如何以新的rails 4样式编写所有这行代码:使用order_by with conditions and limit,在web中搜索fast,所有部分都在一起-没有找到。如何将其从rails 3转换为rails 4 在控制器中,我有 @news = Article.find(:all, conditions: { text: "example" }, order_by: "created_at", limit: 4 ) 我不必

我需要非常快地将我的应用程序控制器更新到rails 4,但我不知道如何以新的rails 4样式编写所有这行代码:使用order_by with conditions and limit,在web中搜索fast,所有部分都在一起-没有找到。如何将其从rails 3转换为rails 4

在控制器中,我有

@news = Article.find(:all, conditions: { text: "example" }, order_by: "created_at", limit: 4 )

我不必在4中使用条件,仅在何处使用,但如何附加:all、order_by和limit to it?什么是正确的语法?

我认为这可能会起作用:

@news = Article.where(text: 'example').order(:created_at).limit(4)

从旧的ActiveRecord样式:

@news = Article.find(:all, conditions: { text: "example" }, order_by: "created_at", limit: 4 )
对于新的:

@news = Article.where(text: "example").order(:created_at).limit(4)
在Arel()中,所有内容都可以追加。各条款如下所述:


请注意,这将返回一个查询子句,在您明确请求数据之前,该子句不会实际查询数据库。

您不需要调用:all且顺序不是:desc谢谢您让我知道:)我已修改并更改了您发现的问题
@news = Article.where(text: 'example').order(:created_at).limit(4)