一.首先建一个项目
rails new myapp
gem 'devise'
然后
bundle install
rails generate devise:install
修改成true<span style="font-size:12px;">config.action_mailer.raise_delivery_errors = true</span>
然后添加下面配置:
2.编辑app/views/layouts/application.html.erb,在body里添加两行config.action_mailer.perform_deliveries = true config.action_mailer.default_url_options = {:host => "localhost:3000" } config.action_mailer.delivery_method =:smtp config.action_mailer.smtp_settings = { :address => 'smtp.163.com', :domain => '163.com', :port => 25, :authentication => :login, :user_name => 'my@163.com', :password => 'mypwd', }
3.编辑config/initializers/devise.rb,找到<body> <p class=”notice”><%= notice %></p> <p class=”alert”><%= alert %></p> <%= yield %> </body>
改成自己的邮箱。config.mailer_sende= please-change-me-at-config-initializers-devise@example.com
4、生成注册页面
完成后在app/views下会看到生成的一个文件夹devise,里面有七个小文件夹rails g devise:views
四.使用devise建立user模型rails generate devise User
- 编辑app/models/user.rb,在
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
后面添加", :confirmable"
- 编辑db/migrate/20150406093021_devise_create_users.rb,把
把上面注释掉的四个字段打开。## Confirmable #t.string :confirmation_token #t.datetime :confirmed_at #t.datetime :confirmation_sent_at #t.string :unconfirmed_email # Only if using reconfirmable
五.生成数据库表
rake db:migrate
六.建一个主页
让登陆完后跳转到这里
rails generate controller home index
编辑config/routes.rb
root 'home#index'
class HomeController < ApplicationController
before_filter :authenticate_user!
def index
end
end
七.启动服务器
rails s
在浏览器中输入http://localhost:3000,然后就会出现我们要的登陆页面。