Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 覆盖设计密码控制器,Rails 4_Ruby On Rails_Ruby_Ruby On Rails 3_Devise - Fatal编程技术网

Ruby on rails 覆盖设计密码控制器,Rails 4

Ruby 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

我想将密码控制器改写为不同的创建操作。所以我可以生成随机密码并与用户一起保存,然后将该密码发送给用户电子邮件

我喜欢这个。 routes.rb

   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谢谢,那你有什么建议?