2012-01-24 162 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