我正在升级,遇到了一些问题。
这是我的错误:
/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/