2012-01-24 201 views
0

編輯:所有我需要的是渲染/設置/色器件/註冊/編輯/密碼更改密碼

要做到這一點如把這個你的看法/設置/密碼

<%= render :template => 'devise/registrations/edit' %> 

和這SettingsHelper

def resource_name 
    :user 
end 

def resource 
    @resource = current_user || User.new 
end 

def devise_mapping 
    @devise_mapping ||= Devise.mappings[:user] 
end 

def devise_error_messages! 
    return "" if resource.errors.empty? 

    messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join 
    sentence = I18n.t("errors.messages.not_saved", 
        :count => resource.errors.count, 
        :resource => resource_name) 

    html = <<-HTML 
      <div id='error'> 
      <h2>{sentence}<h2> 
      <p>#{messages}</p> 

     </div> 
    HTML 

    html.html_safe 
end 

回答

2

你可以做到以下幾點:

#routes.rb 
get 'settings/password' => 'users#password' 

然後在你的控制器,創建操作密碼:

#users_controller.rb 
def password 
    redirect_to :edit 
end 

如果您使用Rail第3,你可以簡單地這樣做:

#routes.rb 
get 'settings/password' => redirect('users/edit') 

也許這是你所追求的?

#routes.rb 
devise_for :users do 
    get 'settings/password' => 'devise/registrations#edit' 
end 
+0

嗯,在這種情況下,我會'用戶#編輯',但我不想重定向,我只想/設置/密碼留在網址。如果我可以稱之爲隱藏別名。 – flakerimi

+0

如果你想/設置/密碼留在網址,你想調用用戶的動作編輯,做'get'settings/password'=>'users#edit''有什麼問題? – Ashitaka

+0

以及它沒有這樣做的工作。 https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-password – flakerimi