欢迎来到cool的博客
7

Music box

Click to Start

点击头像播放音乐
新博客链接

rails中使用devise,并用上Devise Bootstrap Views

1.在Gemfile中添加

gem 'devise', '4.1.1'
gem "twitter-bootstrap-rails", '3.2.0'
gem 'devise-bootstrap-views', '0.0.9'

2.在终端运行下面三个命令

$ bundle exec rails generate devise:install 
$ bundle exec rails generate devise user 
$ bundle exec rails g devise:views:bootstrap_templates

如果登录用户的表不叫user, 比如叫做editor:

$ bundle exec rails generate devise editor 

如果数据库中没有这个editor表,就会新建一个,如果已经有editor,不会删掉 ,会把所有字段加到后面。

3.application controller 增加:

class ApplicationController < ActionController::Base
  before_action :authenticate_user!
end

4.为layout/application.html.erb 增加 登录 ,退出等按钮

   <% if user_signed_in? %>        
     <ul class="nav navbar-nav" style='float:right'>
       <li><%= link_to "欢迎你:#{current_user.try :email}" %></li>
       <li>
         <%= link_to '退出', destroy_user_session_path, :method => :delete  %>  
       </li>
      </ul>
    <% else %>
      <ul class="nav navbar-nav" style='float:right'>
        <li>
          <%= link_to '登陆' , '/users/sign_in', :method => :get%>
        </li>
      </ul>
    <% end %>

几个核心方法:

user_signed_in? 判断用户是否登录

current_user 获取当前用户

5.输入gem env 查找devise_controller的路径,让后复制到rails 项目中。

INSTALLATION DIRECTORY: /Users/cool/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems

6.最后修改一下devise view的样式就可以了。

返回列表