gemsセルとdeclarative_authorization(Deviseと一緒に)を使用していますが、私はallowed_toをどのように含めるかを検討しようとしていますか?細胞テンプレートに挿入する。これまでのところ私は(それはヘルパーだために工夫の1作品)私の細胞セルにこれを追加しました:Declarative_Authorizationを持つセル
class SidebarCell < Cell::Rails
include Devise::Controllers::Helpers
helper_method :current_user
include Authorization::AuthorizationHelper
helper_method :permitted_to?
def display(args)
@object = args[:object]
@notice = args[:notice]
@alert = args[:alert]
render
end
end
しかし、それはdeclarative_authヘルパーモジュールは、次のコードを使用するという事実で爆撃しています:
def permitted_to? (privilege, object_or_sym = nil, options = {}, &block)
controller.permitted_to?(privilege, object_or_sym, options, &block)
end
、いくつかのより多くの思考の後
:と明らかにこれは
undefined local variable or method `controller' for ...
UPDATEを与えますこれがCellsでうまくいくかどうかはわかりません。 Declarative_authにはコントローラーのルールを設定する必要がありますが、Cellsはそのコントローラーとは関係ありません。コントローラーへの参照をCellに渡さない限り、2つは互換性がないように見えますか?セルが行く方法ではないと考えるようになる。