14

如何自定義ActiveAdmin中的默認登錄頁面?

我想自定義默認的登錄頁面ActiveAdmin,但我遇到麻煩定製要經過的問題。

我已經試過

一個評論者對this RailsCasts episode建議複製this fileapp/views/active_admin/devise/sessions/new.html.erb,並從那裏進行定製。但是,這樣做似乎並不能取代默認的登錄表單。

我也試圖與devise_for :admin_users作爲評論者指出,這似乎路由指向正確的地方更換devise_for :admin_users, ActiveAdmin::Devise.config,但我得到在這種情況下被認可了一堆有關沒有ActiveAdmin變量的服務器錯誤。

我搜索了文檔,但我一直無法找到有關定製登錄表單的文檔。

問題

什麼是去了解在ActiveAdmin自定義登錄表單的最佳途徑?

+0

您創建的路徑正好,如果您在更改後沒有重新啓動服務器,也是如此。 – matanco

回答

12

使用Devise資源爲admin_user的默認ActiveAdmin配置,您的new.html.erb應改爲app/views/admin_users/sessions/new.html.erb

一個簡單的方法來複製出所有的設計模板是做rails g devise:views admin_users,但事實證明ActiveAdmin都有自己版本的這些觀點:https://github.com/gregbell/active_admin/tree/master/app/views/active_admin/devise

如果你還試圖改變這種設計的佈局new.html.erb與渲染,您可以複製的佈局從ActiveAdmin文件伸到用於登錄頁面app/views/layouts/active_admin_logged_out.html.erb

當前的佈局文件是在這裏:

https://github.com/gregbell/active_admin/blob/master/app/views/layouts/active_admin_logged_out.html.erb

+7

在我的情況下,替換'app/views/active_admin/devise/sessions/new.html.erb'是正確的方法 –

+0

@ KeatingWang的方法爲我工作。 – dmastylo

+0

這個男人!你幫了我很多! – kaleb4eg

5

首先所有的色器件意見覆制到您的應用程序:

rails g devise:views admin_users 

二加config.scoped_views = trueconfig/initializers/devise.rb文件就可以了裏面。

以這種方式,您不需要重寫active_admin模板。