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 ではなくローカルで機能した理由はわかりません。ある種の gem バージョンの問題である可能性があります。

于 2013-04-14T16:13:10.640 に答える