2013-08-26 2 views
3

, когда я использую Mongoid с Rails, я связан мою модель с HAS_ONE связи и используется зависимый уничтожить как этотне может изменить замороженную Hash в Mongoid has_one зависимый уничтожить

class MyModel 
    has_one :foo , :dependent => :destroy 
end 
class Foo 
    belongs_to :mymodel 
end 


my_model.foo = Foo.new 

то это приводит следующее сообщение об ошибке

RuntimeError (can't modify frozen Hash):

, но если я удалю зависимый уничтожить, то никакой ошибки ... Я не уверен, почему это

Может кто-нибудь, пожалуйста, помогите мне ... заранее заблаговременно

ответ

-1

когда вы это называете?

это, кажется, хорошо известная проблема

https://github.com/mongoid/mongoid/search?q=frozen+hash&ref=cmdform&type=Issues
https://github.com/mongoid/mongoid/issues/2975
https://github.com/mongoid/mongoid/issues/2779
https://github.com/mongoid/mongoid/issues/2975

который Монго версию именно вы используете?

+0

gem 'mongoid', "> = 3.1.4" – ratnakar

+0

Я пробовал использовать ссылки выше, но не использовал и спасибо за ваш ответ – ratnakar

+0

self.foo = new_foo - это заявление вызывает ошибку для меня, когда я применял: depend = >: уничтожить на себя класс, но если я удалю зависимый уничтожить, тогда он не вызывает ошибок. Я не уверен, почему? любые идеи, пожалуйста ... – ratnakar

Смежные вопросы