assert_valid_keys'中的块:未知密钥:: order(ArgumentError)

Are*_*rel 8 activerecord ruby-on-rails ruby-on-rails-4

我正在运行rails 4.1.0.rc2,block in assert_valid_keys': Unknown key: :order当我尝试执行时,我得到了ArgumentError :

has_many :workout_exercises, dependent: :destroy, order: "exercise_order DESC"`
Run Code Online (Sandbox Code Playgroud)

我想在我的连接模型上加上一个订单约束,据我所知,这与Rails 3.2一起工作,所以我无法弄清楚发生了什么.有任何想法吗?

Rub*_*cer 21

试试这个:

has_many :workout_exercises, dependent: :destroy,-> { order "exercise_order desc" }
Run Code Online (Sandbox Code Playgroud)

根据OP的评论更新(重新排序指令):

has_many :workout_exercises,-> { order "exercise_order desc" }, dependent: :destroy
Run Code Online (Sandbox Code Playgroud)

  • 没有区别,但在后一版本的rails中,您不能在关联中使用范围块之外的activerecord方法.检查此网址和示例http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_many (2认同)