2015-09-14 4 views
0

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

def update_value 
    self.update :compressing => false 
end 

name.update_value 

ИЛИ

name.update_attribute(:compressing, 0) 

ИЛИ

name.update_attribute(:compressing, false) 

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

+0

Вставьте свой объект 'name'. –

+0

Вы также можете использовать update_attributes с оператором '!', Это вызовет ошибку, если какая-либо проверка не удалась, например. 'name.update_attributes! (compressing: 0)' –

+0

Его ничего не печатают:/и он даже не изменился. –

ответ

0

Это в контроллере? Сначала нужно получить экземпляр имени, например.

def update_value 
    @name = Name.find(params[:id]) 
    @name.update_attributes(compressing: false) 
end 
+0

У меня уже есть это имя. Некоторая проблема с обновленной вещью, я думаю. И его в фоновом работнике. –

+0

Что говорят журналы? – margo

+0

Он ничего не говорит, я попробовал update_attributes! для получения ошибок, но ошибки не было. –

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