rails gem devise

3 篇文章 0 订阅
        1:在Gemfile中添加  

  gem 'devise'

        2:  执行bundle install  之后  将devise添加到项目中去

 rails g devise:instal

       会创建以下文件:

        config/initializers/devise.rb  
        config/locales/devise.en.yml
 

        3: 需要设置邮件默认URL选项在开发环境下config/environments/development.rb

  config.action_mailer.default_url_options= { host: 'localhost', port: 3000 }

        4 :   创建devise  model 命令:rails g devise user(或者其他你想使用的model名)

 create    db/migrate/xxxxxxxxx_create_devise_users.rb
        insert    app/models/user.rb(之前存在所以insert)
         route  devise_for :users (添加一行devise_for :users)
5 : 如果需要向users(model表)是否还需要其他额外添加字段,修改migration文件

6:在user控制器中添加before_action :authenticate_user! ,devise还有其他helpers方法:

源码文件位置(lib/devise/controllers/helpers.rb)

authenticate_user! user_sign_in?(是否登录) current_user(当前登录的用户) user_session(session中存入的用户) helper方法

 如果你是用的是其他model将_user改为 _model名

7 : 用户登录或者修改密码完成后会redirect_to root_path ,所以需要定义 根路径 比如:

  root 'home#index'

8: 在devise model (user)中添加

 devise :database_authenticatable, :registerable, :recoverable, :rememberable,

   :trackable, :validatable, :lockable, :authentication_keys => [:login]

  authentication_keys => [:login] 可自定义登录属性,默认是email


  注:【Others available are =>:database_authenticatable, :registerable,:recoverable, :rememberable, :trackable, :validatable, :lockable
     :confirmable, :lockable, :timeoutable and :omniauthable】


       9:  rails g devise:views

      10: 如果操作完成后需要对跳转路径进行设置(默认跳转到root_path)

 # after sign in path 

  def after_sign_out_path_for(scope)
     stores_path
  end
      # after sign in path
     def after_sign_in_path_for(scope)
      root_path
   end

     11: config/initailize/devise.rb 中 config.scoped_views = true

  默认情况下会访问devise/sessions/new.html.erb 设置上面信息之后会访问users/sessions/new.html.erb

      其它类似文章: http://blog.51cto.com/kinda22/1587991

 

 


          

        

  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值