2013-08-12 14 views

Odpowiedz

3

Odpowiedź brzmi: configuration documentation for actions. Domyślnie wszystkie działania są możliwe, w tym new. Aby dostosować możliwe działania, w config.actions w config/initilizers/rails_admin.rb, wyświetl wszystkie działania, które chcesz obsłużyć, pomijając te, których nie chcesz wspierać. Na przykład, oto blok konfiguracyjny, który pozwala wszystkim działań domyślnych wyjątkiem new:

# 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

Witaj, Rory, dziękuję za szybką odpowiedź. Ponieważ był w inicjalizatorach stosowany do wszystkich modeli. Ukrywa wszystkie modele nowej akcji, ale chcę, aby ukryła nowe działanie w określonym modelu. – Senthil

+0

W takim przypadku obawiam się, że nie wiem, jak to zrobić. Może jakaś inna część dokumentacji [RailsAdmin] (https://github.com/sferik/rails_admin/wiki) wyjaśnia, w jaki sposób. Może trzeba spojrzeć na [kod źródłowy] (https://github.com/sferik/rails_admin), aby zobaczyć, jak to zrobić - [ta część] (https://github.com/sferik/rails_admin/blob/ master/app/controllers/rails_admin/main_controller.rb # L15-L26) mogą być istotne. A może RailsAdmin nie obsługuje tej funkcji. –

+0

Jeśli to konieczne, może istnieć jakiś hack, który pozwala uruchamiać inicjator wiele razy, umożliwiając wyłączenie akcji 'new' podczas robienia czegokolwiek z tym modelem i ponowne włączanie go podczas uzyskiwania dostępu do dowolnego innego modelu. –

22

używam następujących aby to osiągnąć na konkretnym modelu. Mamy nadzieję, że pomoże to:

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

działało idealnie, dzięki! – StarWars

+0

cześć, ale jeśli w adresie URL dodaję akcję, pozwala to na dostęp. Przykład 'http: // localhost: 3000/dashboard/user/new':/ – kalelc

+1

@@@@@@@@@@@@@@@@@@@@@@@@@@ z powyższej rails_admin DSL usunie tylko przyciski od administratora. Dopóki trasy nadal istnieją dla tego działania, będziesz mógł wykonać to działanie. –

Powiązane problemy