2013-11-20 4 views
0

Доброго утра Все,Обновления Атрибуты пользователя Ранг

У меня есть проблемы с моим обновлением ранга и чесать голова, когда критерии встретили он обновляет свой ранг пользователя к «правде»?

Вот суть https://gist.github.com/FrostDuke/7552206

Пытались выяснить это с Поддеть, но не такой удачи.

ответ

0

Функция user_rank обновляет rank пользователя и возвращает true, потому что update_attributes удалось. Затем вы устанавливаете user.rank, который возвращает true в update_user_rank.

Либо изменить user_rank, чтобы вернуть новый ранг, а не позвонить update_attributes; или просто позвоните user.user_rank от update_user_rank, не присваивая его возвращаемое значение в user.rank. Я бы посоветовал бывшие - изменить user_rank на следующее:

def user_rank 

    sn = self.snippets.where(:approved => true) 

    if sn.count >= 10  
    "Author"  
    elsif sn.count > 10 && sn.count >= 20  
    "Co-Editor"  
    elsif sn.count >20 && sn.count >= 100  
    "Chief Editor"  
    else  
    "Clerk"  
    end  
end 
Смежные вопросы