2012-04-24 93 views
1

我正在根據這個railscast邀請,我在我的應用程序中使用設計進行身份驗證。我想得到這一點的代碼執行:如何覆蓋設計註冊控制器

def new 
    @user = User.new(:invitation_token => params[:invitation_token]) 
    @user.email = @user.invitation.recipient_email if @user.invitation 
end 

設計內部。這涉及覆蓋註冊控制器。這是新的行動,是在註冊控制器:

def new 
    resource = build_resource({}) 
    respond_with resource 
    end 

我是比較新的編碼和做出了嘗試通過色器件代碼進行篩選,並找出發生了什麼事情,但似乎令人生畏。有沒有簡單的事情?我如何通過覆蓋設計註冊控制器來實現該代碼?

回答

0

他甚至給出了錯誤?另一件事,你改變了你的routes.rb?例如:

devise_for :users, :controllers => { :registrations => "registrations" } 

在他的方法 「新」,加上超級

def new 
    @user = User.new(:invitation_token => params[:invitation_token]) 
    @user.email = @user.invitation.recipient_email if @user.invitation 
    super 
end