Val*_*ris 8 ruby ruby-on-rails ruby-on-rails-4
我需要非常快速地将我的app控制器更新到rails 4,但我不知道如何用新的rails 4样式编写所有这一行:order_by有条件和有限制,在web中搜索快速,所有部分在一起 - 没找到.我怎么能把它从rails 3翻译成rails 4?
在控制器我有
@news = Article.find(:all, conditions: { text: "example" }, order_by: "created_at", limit: 4 )
Run Code Online (Sandbox Code Playgroud)
我没有必要使用4中的条件,只有在哪里,但如何追加:all,order_by和limit to it?什么是正确的语法?
GSP*_*GSP 12
在Arel(https://github.com/rails/arel)中,可以附加所有内容.这里描述了各种条款:http://guides.rubyonrails.org/active_record_querying.html
@news = Article.where(text: 'example').order(:created_at).limit(4)
Run Code Online (Sandbox Code Playgroud)
请注意,在您专门请求数据之前,这将返回一个实际上不会查询数据库的查询子句.
从旧的ActiveRecord风格:
@news = Article.find(:all, conditions: { text: "example" }, order_by: "created_at", limit: 4 )
Run Code Online (Sandbox Code Playgroud)
到新的:
@news = Article.where(text: "example").order(:created_at).limit(4)
Run Code Online (Sandbox Code Playgroud)