не могу обновить модель рельсов - PullRequest
0 голосов
/ 04 января 2011

Я довольно новичок в рельсах.У меня есть контроллер, который пытается обновить модель, используя следующий код:

@test = Product.find(1)
@test.increment!(:price)

Он успешно извлекает Продукт из базы данных, но не обновляет атрибут цены.Кто-нибудь знает, почему это может иметь место, или как я мог получить больше отзывов о том, в чем проблема?

Спасибо большое!
Tristan

edit: цена является целым числомзначение 0. У меня возникает та же проблема, когда я устанавливаю цену с помощью @test.price=50, а затем @test.save.

Ответы [ 3 ]

1 голос
/ 04 января 2011

Ах, я нашел проблему. Я использовал gem скрепки (прикрепление изображения), который имел проверку, блокирующую любые обновления. Этот ребенок решил это: Умные проверки скрепки

0 голосов
/ 04 января 2011

Что такое тип БД для атрибута цены?

Инкремент работает только для числовых атрибутов (http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-increment%21).

0 голосов
/ 04 января 2011

increment обходит проверку модели, поэтому возможно, что увеличение «цены» на 1 делает модель недействительной и не позволяет сохранить ее. Трудно сказать без контекста о модели и ее ценовом атрибуте. Вы можете попробовать версию increment без взрыва, вручную вызвать save и затем проверить объект модели, чтобы увидеть, были ли ошибки проверки.

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