Ruby on rails 覆盖设计密码控制器,Rails 4
我想将密码控制器改写为不同的创建操作。所以我可以生成随机密码并与用户一起保存,然后将该密码发送给用户电子邮件 我喜欢这个。 routes.rbRuby on rails 覆盖设计密码控制器,Rails 4,ruby-on-rails,ruby,ruby-on-rails-3,devise,Ruby On Rails,Ruby,Ruby On Rails 3,Devise,我想将密码控制器改写为不同的创建操作。所以我可以生成随机密码并与用户一起保存,然后将该密码发送给用户电子邮件 我喜欢这个。 routes.rb devise_for :users, :controllers => { :passwords => "passwords" } <p>Hello <%= @resource.email %>!</p> <p>Someone has requested a link to chang
devise_for :users, :controllers => { :passwords => "passwords" }
<p>Hello <%= @resource.email %>!</p>
<p>Someone has requested a link to change your password. You can do this through the link below.</p>
<p>Your new password is <%= @resource.password %></p>
<p>Your password won't change until you access the link above and create a new one.</p>
密码控制器。
class PasswordsController < Devise::PasswordsController
def create
size = 6
charset = %w{ 2 3 4 6 7 9 a v n A j C u D q E i F p G m H J K M N P Q R T V W X Y Z}
self.resource.password = (0...size).map{ charset.to_a[rand(charset.size)] }.join
if self.resource.save(:validate => false)
self.resource = resource_class.send_reset_password_instructions(resource_params)
else
#do nothing yet
end
end
end
类密码控制器false)
self.resource=resource\u class.send\u reset\u password\u指令(资源参数)
其他的
#什么也不做
结束
结束
结束
此代码向用户发送电子邮件,但预期密码不存在
reset\u password\u instructions.html.erb
devise_for :users, :controllers => { :passwords => "passwords" }
<p>Hello <%= @resource.email %>!</p>
<p>Someone has requested a link to change your password. You can do this through the link below.</p>
<p>Your new password is <%= @resource.password %></p>
<p>Your password won't change until you access the link above and create a new one.</p>
你好
有人请求链接以更改您的密码。你可以通过下面的链接来实现这一点
您的新密码是
在访问上面的链接并创建新的链接之前,您的密码不会更改
我做错了什么
提前感谢。主题:您是否将密码保存在clear中并通过电子邮件发送?不要那样做。@cristian谢谢,那你有什么建议?