尝试使用
在rails应用程序上获取设计密码页面的路径devise_for :users, path_names: {
password: 'secret'
}
但它没有回复它,任何想法?
答案 0 :(得分:0)
rake routes
将运行devise提供的所有路由。如果你想访问设计密码选项(IE编辑密码,确认密码,输入密码等)去设计,资源,编辑和查找form_for。您实际上可以使用这些资源并将自己的资源添加到多个视图中。直接从设计github引用这个..
默认情况下,Devise允许用户使用:registerable
模块更改密码。但有时,开发人员希望创建其他操作,允许用户在不需要密码的情况下更改其信息。在这种情况下,最好的选择是创建属于您的应用程序的控制器,并提供编辑和更新操作,就像对应用程序中的任何其他资源一样。
请注意,虽然限制了您允许更改的参数。特别是,您可能只想允许用户数据字段,并避免更改电子邮件,密码和此类信息:
params[:user].permit(:first_name, :last_name, :address)
另一种解决方案是简单地覆盖"更新资源"注册控制器中的方法如下:
class RegistrationsController < Devise::RegistrationsController
protected
def update_resource(resource, params)
resource.update_without_password(params)
end
end
使用此解决方案时,您需要告诉devise在routes.rb中使用您的控制器:
devise_for :users, controllers: {registrations: 'registrations'}
最后,如果您使用设计生成了视图,请删除&#39; current_password&#39;的相应表单输入。在app/views/devise/registrations/edit.html.erb
。