应用程序崩溃在heroku上:dependent => :destroy_all

时间:2013-04-14 16:07:55

标签: ruby-on-rails-3 heroku crash dependent-destroy

注意一切都可以在当地环境中使用

这是代码

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并且它在本地工作..那么这里发生了什么?

1 个答案:

答案 0 :(得分:1)

source

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上工作;可能是某种宝石版本的问题。