Потратил на это рабочий день.
У меня есть
class Box
has_many :users, :through => :subscriptions
end
У меня также есть пользовательские методы insert_new_users
и associate_with(new_users)
, которые используют несколько INSERT для быстрого выполнения своей работы. Во всяком случае, они работают нормально. У меня также есть эта строка в конце метода "associate_with":
def associate_with
# mysql INSERT here
self.users(true) # Should force reload
end
Он работает, как и ожидалось, при работе в тестовой среде (тесты как контроллера, так и модели), и он завершается с ошибкой, как и ожидалось, если удалить аргумент true
, который вызывает перезагрузку. Он также работает с script/console
в разработке, если я update_attributes
модель. Но не удается в разработке или производстве, когда я пытаюсь update_attributes
от контроллера. Он просто не перезагружает ассоциации, и я вижу его в журналах, где для этого запроса написано «CACHE (0.0ms)».
Странная вещь - она работала раньше, и я не могу определить момент, когда она перестала работать по некоторым причинам. Я надеялся, что кто-то знает, как это возможно.