2013-08-12 26 views

答えて

3

答えはconfiguration documentation for actionsです。デフォルトでは、newを含むすべてのアクションが可能です。実行可能なアクションをカスタマイズするには、config/initilizers/rails_admin.rbconfig.actionsに、サポートしないアクションをすべてリストし、サポートしないアクションは除外します。カンカンとそれを実装

# config/initilizers/rails_admin.rb 
RailsAdmin.config do |config| 
    config.actions do 
    # root actions 
    dashboard 
    # collection actions 
    index 
    # `new` is NOT allowed 
    export 
    history_index 
    bulk_delete 
    # member actions 
    show 
    edit 
    delete 
    history_show 
    show_in_app 
    end 
end 
+0

こんにちは。初期化されていたので、すべてのモデルに適用されています。それはすべてのモデルの新しいアクションを隠しますが、私は特定のモデルで新しいアクションを隠すことを望みます。 – Senthil

+0

その場合、私はそれをやる方法がわからないのではないかと心配しています。おそらく、[RailsAdminのドキュメント](https://github.com/sferik/rails_admin/wiki)の他の部分では、どのように説明されているのでしょうか。おそらく、あなたは[ソースコード](https://github.com/sferik/rails_admin)を見て、それを行う方法を見なければならないかもしれません - [この部分](https://github.com/sferik/rails_admin/blob/ master/app/controllers/rails_admin/main_controller.rb#L15-L26)が適切かもしれません。あるいは、RailsAdminはその機能をサポートしていないかもしれません。 –

+0

必要に応じて、イニシャライザを複数回実行できるハックがあり、そのモデルで何かをするときに 'new'アクションを無効にし、他のモデルにアクセスするときに再び有効にすることができます。 –

-3

:たとえば、ここにnewを除いて、デフォルトのすべてのアクションを可能にconfigブロックです。上記の答えを参照して、レールの管理方法で行うことができます。

URL:https://github.com/sferik/rails_admin/wiki/CanCan

+2

これは答えとして選択されていますが、そうではありません。上記の私の答えを参照してください。 – RubeOnRails

22

私は特定のモデルでこれを達成するために、以下の使用。うまくいけば、これは役に立ちます:

config.actions do 
    new do 
    except ['Some Model'] 
    end 
end 
+1

完璧に働いて、ありがとう! – StarWars

+0

こんにちは、しかし、URLに私はアクションを追加する場合、これはアクセスを許可します。例 'http:// localhost:3000/dashboard/user/new':/ – kalelc

+1

上記のrails_admin DSLを使用して@andresは、管理者からボタンを削除するだけです。そのアクションのルートがまだ存在する限り、そのアクションを実行できます。 –

関連する問題