ruby-on-rails - 升级到 Rails 4.1 出现错误 : ArgumentError: Unknown key: :order

标签 ruby-on-rails ruby activerecord upgrade

我正在升级,遇到了一些问题。

这是我的错误:

/Users/jay/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.6/lib/active_support/core_ext/hash/keys.rb:71:in `block in assert_valid_keys': Unknown key: :order. Valid keys are: :class_name, :class, :foreign_key, :validate, :autosave, :table_name, :before_add, :after_add, :before_remove, :after_remove, :extend, :primary_key, :dependent, :as, :through, :source, :source_type, :inverse_of, :counter_cache, :join_table (ArgumentError)

这与我的示波器有关吗?例如:

scope :total_views, order('total_views DESC')

default_scope { order: :sort_order }

范围:最近,顺序:'created_at desc'

我有一堆使用顺序的范围,这是怎么回事?

最佳答案

Rails 4 中的命名范围现在采用 lambda 而不是散列。在 lambda 中使用新的查询语法而不是旧的哈希语法:

default_scope { order(:sort_order) } 

scope :total_views, -> { order('total_views DESC') }
scope :recent,      -> { order('created_at DESC') }

阅读有关 ActiveRecord 查询的更多信息:http://edgeguides.rubyonrails.org/active_record_querying.html#scopes

关于ruby-on-rails - 升级到 Rails 4.1 出现错误 : ArgumentError: Unknown key: :order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25818252/

相关文章:

ruby-on-rails - RSpec:检查是否已保存任何模型

ruby-on-rails - Rails Asset Pipeline - 编译 jQuery UI Assets 的问题

ruby-on-rails - rails 如何正确回滚某些迁移

ruby-on-rails - 防止应用程序路由阻塞 Rails 3 中的插件路由

ruby-on-rails - 使用 `update_all` 时运行验证

php - 如何在 yii2 'where' 中编写子查询?

ruby-on-rails - 返回哪个 http 状态代码,404 或 422?

ruby - 动态交换 Rails3 布局

ruby - 为什么这段代码需要 8 分钟才能完成?

ruby-on-rails-3 - Rails 3 Active Record 动态 find_or_create finder 方法是否存在一些未记录的不一致?