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 %>
これに対処する最善の方法は何ですか?ありがとう :)