Devise là gì
scroll-to-target-tracking#onClick" data-label="Scroll lớn top" data-target-selector="#page-body"> Scroll to đứng top

Trong một số nội dung bài viết trước đây của mình về upload hình ảnh trong Rails, tôi đang đề cập đến Devise tuy nhiên không đi sâu vào nó. Trong khuyên bảo này, tôi sẽ dạy bạn về Devise.
Bạn đang xem: Devise là gì
Sẵn sàng chứ? Hãy bắt đầu thôi!
Giới thiệu Devise và các Mô-đun
Devise là một phương án xác thực đến Rails được tích hòa hợp với Warden và được hỗ trợ bởi phần đa người hoàn hảo và tuyệt vời nhất tại Plataformatec. Devise cung ứng các mô-đun khác nhau:
Xác thực cơ sở dữ liệu: Điều này mã hóa và lưu trữ một password vào cơ sở dữ liệu để xác thực tính xác xắn của người tiêu dùng trong lúc đăng nhập. đúng đắn với Omniauth: Điều này giúp cho OmniAuth hoàn toàn có thể hỗ trợ mang đến Devise. Người dùng ứng dụng của bạn sẽ có thể singin bằng thông tin tài khoản như Facebook, Twitter cùng Google. Xác nhận: Điều này có thể chấp nhận được việc gởi những email với các hướng dẫn sẽ giúp chứng thực một tài khoản. Khôi phục: Mô-đun này giúp đông đảo khi người dùng quên mật khẩu và rất cần phải khôi phục nó. Với điều này, thì người tiêu dùng sẽ bao gồm thể tùy chỉnh lại mật khẩu. Đăng ký: Điều này xử lý quy trình đăng ký kết của bạn dùng. Nó cũng được cho phép người dùng chỉnh sửa và xoá các tài khoản của họ. Năng lực nhớ: Mô-đun này làm cho ứng dụng của chúng ta cũng có thể nhớ một người tiêu dùng đã đăng nhập bằng phương pháp lưu trữ một cookie. Theo dõi: Mô-đun này góp theo dõi tài khoản đăng nhập, mốc thời gian, và showroom IP. Vượt thời gian: Mô-đun này phụ trách cho một phiên không còn thời hạn mà dường như không được kích hoạt vào một khoảng chừng thời gian. Chất vấn hợp lệ: với mô-đun này, thư điện tử và mật khẩu sẽ được kiểm tra tính thích hợp lệ. Khả năng khoá: Điều này cung cập một tờ phụ của bảo mật thông tin - lúc được kích hoạt, một tài khoản có thể bị khoá sau một số trong những lần cố gắng đăng nhập thất bại.Tích thích hợp Devise
Với mục đích của gợi ý này, bọn họ sẽ tạo nên một vận dụng Rails, mà bọn họ sẽ sử dụng để kiểm tra buổi giao lưu của Devise. Hãy tiến hành thôi!
rails new devise-app -T
Cờ -T nói cùng với Rails để tạo ra các vận dụng mà không tồn tại bộ kiểm thử mang định. Truy cập đến thư mục ứng dụng của công ty và thả các gem tiếp sau đây vào Gemfile của bạn.
1 | #Gemfile |
2 | |
3 | gem "devise", "~> 4.1" |
4 | gem "bootstrap-sass", "~> 3.3" |
Bây giờ thiết đặt Devise và các gem Bootstrap mà các bạn vừa mới thêm vào.
bundle install
Đổi thương hiệu tập tin app/assets/stylesheets/application.css thành app/assets/stylesheets/application.scss với thêm những dòng tiếp sau đây vào đó:
1 | #app/assets/stylesheets/application.scss |
2 | |
3 | import "bootstrap-sprockets"; |
4 | import "bootstrap"; |
Mở tập tin app/assets/javascripts/application.js với yêu ước bootstrap-sprockets. Nó sẽ trông như thế này:
1 | #app/assets/javascripts/application.js |
2 | |
3 | //= require jquery |
4 | //= require bootstrap-sprockets |
5 | //= require jquery_ujs |
6 | //= require turbolinks |
7 | //= require_tree . |
Tiếp theo, bạn phải chạy lệnh Rails để thiết lập các tập tin cấu hình cho Devise. Chúng ta làm điều đó bằng phương pháp chạy lệnh này:
rails generate devise:install
Lệnh tạo thành các thứ dưới đây trên terminal của bạn. Bạn nên đọc nó để hiểu phần nhiều gì sẽ xảy ra.
Xem thêm: Chức Danh Nghiên Cứu Là Gì, Chức Danh Nghiên Cứu Khoa Học
1 | create config/initializers/devise.rb |
2 | create config/locales/devise.en.yml |
3 | =============================================================================== |
4 | |
5 | Some thiết đặt you must bởi manually if you haven"t yet: |
6 | |
7 | 1. Ensure you have defined default url options in your environments files. Here |
8 | is an example of default_url_options appropriate for a development environment |
9 | in config/environments/development.rb: |
10 | |
11 | config.action_mailer.default_url_options = host: "localhost", port: 3000 |
12 | |
13 | In production, :host should be set lớn the actual host of your application. |
14 | |
15 | 2. Ensure you have defined root_url to lớn *something* in your config/routes.rb. |
16 | For example: |
17 | |
18 | root to: "home#index" |
19 | |
20 | 3. Ensure you have flash messages in app/views/layouts/application.html.erb. |
21 | For example: |
22 | |
23 | class="notice"> notice %> |
24 | class="alert"> alert %> |
25 | |
26 | 4. If you are deploying on Heroku with Rails 3.2 only, you may want lớn set: |
27 | |
28 | config.assets.initialize_on_precompile = false |
29 | |
30 | On config/application.rb forcing your application khổng lồ not access the DB |
31 | or load models when precompiling your assets. Xem thêm: Chuyên Đề Hệ Thức Lượng Trong Tam Giác Lớp 10 Nâng Cao, Hệ Thức Lượng Trong Tam Giác |
32 | |
33 | 5. You can copy Devise views (for customization) khổng lồ your tiện ích by running: |
34 | |
35 | rails g devise:views |
36 | |
37 | =============================================================================== |
Lệnh này cũng tạo thành hai tập tin, mà bạn cũng có thể tìm thấy trong folder config. Nó cũng cung cấp cho họ một số chỉ dẫn về hồ hết gì bọn họ nên làm.
Điều hướng đến layout áp dụng của bạn, app/views/layouts/application.html.erb, và tạo cho nó trông y hệt như những gì tôi gồm ở dưới đây:
1
class="container-fluid">