0

注意一切都在当地环境中工作

这是代码

PublicActivity::ORM::ActiveRecord::Activity.class_eval do

attr_accessible :reference_type, :reference_id

has_many :notifications, :dependent => :destroy_all
has_many :users, :through => :notifications



end

这是 public_activity gem

错误是

/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_record/associations/builder/has_many.rb:20:in `configure_dependency': The :dependent option expects either :destroy, :delete_all, :nullify or :restrict (:destroy_all) (ArgumentError) 

如果它期望:destroy_all并且我写:destroy_all并且它在本地工作..那么这里发生了什么?

4

1 回答 1

1

源头

unless options[:dependent].in?([:destroy, :delete_all, :nullify, :restrict])
  raise ArgumentError, "The :dependent option expects either :destroy, :delete_all, " \
                       ":nullify or :restrict (#{options[:dependent].inspect})"
end

因此,在那条错误消息中,所说的部分(:destroy_all)只是告诉您您提供了什么;它所期待的清单是在那之前的。你可能想要:destroy。不能说为什么它在本地工作而不是在 Heroku 上工作;可能是某种宝石版本问题。

于 2013-04-14T16:13:10.640 回答