好的,将大型代码库从Rails 4移植到5:
json.loads ()
并收到此错误:
来自应用程序的消息:未知密钥::订单。有效密钥是: :class_name,:anonymous_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,:foreign_type, :index_errors(ArgumentError)
我最终发现人们正在将这些内容放入这种lambda文字格式中:
has_many :interactive_items, :dependent => :destroy, :order => 'id ASC'
然后我收到了这个错误:
来自应用程序的消息:未定义的方法`assert_valid_keys'用于#< Proc:0x000000059c40a0> (NoMethodError)
..我无法在任何地方找到assert_valid_keys。
答案 0 :(得分:0)
原来我对lambda文字走得太远了,应该只为'order'而不是'依赖'来做:
has_many :interactive_items, -> { dependent('destroy') }, -> { order('id ASC') }
这有效,但我不确定原因。