3

以下の create フックの後では、gdoc キーが正常に設定されません。self.write_attribute代わりに使用する必要があります。私は愚かなことをしようとしていますか?

class GoogleDoc
  field :gdoc_key, type: String
  field :filename, type: String

  after_create :after_create_hook
  def after_create_hook
    self.gdoc_key =  "qwerty"
    self.save
  end
end

ありがとう!ジョナサン

4

2 に答える 2

4

デュランから

after_ドキュメントが無限ループでコールバックを起動するようになるため、フックで save を呼び出すことはできません。update_attribute のように、コールバックを起動しないものを使用する必要があります。

https://github.com/mongoid/mongoid/issues/2974

于 2013-04-16T13:19:12.867 に答える
0

gdoc_keyで設定する必要がありますbefore_create

before_create :set_gdoc_key
def set_gdoc_key
  self.gdoc_key = 'qwerty'
end
于 2014-12-10T22:31:04.667 に答える