1

アプリケーションのユーザー権限を管理するために宣言型承認を使用しています。
所有者が管理できる投稿モデルがあります。

has_permission_on :post, :to => :manage do
  if_attribute :creator_id => is{user.id}
end

ただし、モデルには次のものもあります。

class Post < ActiveRecord::Base
  def publish!
    update_attributes(:published, true)
  end
end

投稿の作成者ではない一部のユーザーに公開を許可したいと思います。
ただし、オブジェクトの更新を許可することはできませんが、公開ステータス以外のフィールドを変更できるようにはなっていないはずです。

ただし、モデル内の一部のフィールドのみを編集できるようにする方法はないようです。

4

1 に答える 1

0

モデル認証とコントローラー認証を使用して問題を修正しました。
すべての作成者と管理者が投稿を編集できるようにします。
次に、コントローラーで、投稿の作成者のみが更新アクションにアクセスでき、管理者のみが公開アクションにアクセスできるように指定します。

于 2012-09-12T11:42:01.713 に答える