Как может сказать, что «учитель» обновляет только определенный атрибут модели (скажем, модель «книга»), в то время как он / она не может обновлять другие атрибуты этой модели при использовании как Cancan, так и Best_In_Place. Я понимаю, что авторизация атрибутов еще не поддерживается в Cancan, поскольку она все еще находится в разработке в версии 2.0, поэтому первое, что я подумал, это использовать что-то вроде этого:
cannot :all, Book
if is_teacher?
can :update_certain_attribute, Book
end
Но поскольку я хотел использовать Best_In_Place, мои предварительные исследования говорят мне, что я могу использовать только атрибуты для обновления Best_In_Place, как показано ниже.
<%= best_in_place @book, :certain_attribute, :type => :input %>
а не методы:
<%= best_in_place @book, :update_certain_attribute, :type => :input %>
Как лучше всего справиться с этим? Спасибо :)