Как вызвать метод загрузки ActiveRecord :: Base? - PullRequest
4 голосов
/ 28 августа 2011

Чтобы выполнить специальный вид проверки в модели на основе ActiveRecord, мне нужно вручную выполнить update_attributes-steps: load (params) && save

Но когда я пытаюсь вызвать «load» в моей моделиЭкземпляр (mymodel.load (params)) вызывает ActiveSupport для загрузки, пытаясь загрузить файл.

Есть ли способ сообщить Rails использовать метод ActiveRecord?

Спасибо!

С уважением, Марк

Ответы [ 2 ]

2 голосов
/ 09 декабря 2011

Я думаю, вам нужен assign_attribute метод ActiveRecord::Base.

Я использую Rails 3.1.3, но, надеюсь, это правильно для вас.Вставленный вами источник принадлежит ActiveResource::Base, а не ActiveRecord::Base.Я только что сделал эту ошибку сам: Можно ли вызвать ActiveResource :: Base # load? ActiveRecord::Base не предоставляет метод load.Вместо этого вызывается load метод Object, который, по-видимому, предоставляется модулем ActiveSupport Loadable в activesupport-3.1.3/lib/active_support/dependencies.rb.

1 голос
/ 28 августа 2011

Прямо из источника:

# File activerecord/lib/active_record/base.rb, line 2665
def update_attributes(attributes)
  self.attributes = attributes
  save
end

На самом деле это рельсы 2, но я думаю, что это не сильно изменило.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...