2014-01-27 115 views
1

我想定製設計會話&註冊控制器。 我甚至將Active Admin添加到應用程序。定製設計控制器

覆蓋這些控制器的正確過程是什麼?

&我想使用兩個控制器(自定義以及原始)。可能嗎?

  • 主動管理 - 原色器件控制器
  • 普通用戶 - 定製的控制器。

當我們創建自定義控制器時,同名是否會導致任何問題?

感謝, 阿維

+0

這queston已經回答了[這裏](http://stackoverflow.com/questions/3546289/override-devise-registrations-controller )。希望能幫助到你。 – Peeyush

回答

2

如果你想一個管理員角色添加到您的色器件,看看https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-role。 如果您想定製您的當前設計您可以通過將視圖從gem複製到您的應用程序然後修改它們來自定義設計視圖。下面的線將意見覆制到你的應用程序

rails generate devise:views 

如果要修改控制器,請按照以下步驟

  1. 你必須創建自己的自定義控制器說管理員:: SessionsController

    class Admins::SessionsController < Devise::SessionsController 
    end 
    

請注意,在上面的例子中,控制器需要在應用程序/控制器/管理員/目錄。

  1. 現在告訴路由器使用該控制器

    devise_for :admins, :controllers => { :sessions => "admins/sessions" } 
    
  2. 而且因爲我們改變了控制器,它不會使用「設計/會話」的意見,所以記得要複製「設計/會議「改爲」管理員/會議「。

有主動管理鐵路投視頻在http://railscasts.com/episodes/284-active-admin

+0

感謝您的回覆。我正在做的是 - 我已經擁有了所有的安裝和運行項目。我有Active Admin集成。我需要現在定製設計控制器。目前它的用戶/ sign_in。因爲我將移動設計控制器到應用程序/控制器,我是否需要創建一個新的文件夾作爲應用程序/控制器/用戶/ sessions_controllers.rb? – Avinash

+0

如果您正在創建自定義控制器,並且如果您想在其中包含名稱空間,那麼控制器應放置在名稱空間文件夾中。你可以使用下面的代碼rails生成控制器admin/Users – Saurabh