Hướng dẫn về Ruby on Rails
⚡ Tóm tắt thông minh
Hướng dẫn Ruby on Rails giới thiệu khung phát triển web mã nguồn mở được viết bằng Ruby, nền tảng sức mạnh của Airbnb, GitHub và Shopify. Hướng dẫn này bao gồm quá trình cài đặt trên hệ điều hành Ruby on Rails. Windows, Mac và Linux, Rails generators, định tuyến, views, ActiveRecord, validations và gỡ lỗi.

Ruby là gì?
hồng ngọc Ruby là một ngôn ngữ lập trình hướng đối tượng, thông dịch, cấp cao. Đây là một ngôn ngữ mã nguồn mở năng động với một cộng đồng lớn hỗ trợ. Ruby được thiết kế để đơn giản và hiệu quả. Nó khuyến khích việc viết mã phần mềm ưu tiên con người trước, rồi mới đến máy tính. Yukihiro Matsumoto đã tạo ra Ruby tại Nhật Bản vào năm 1995.
Rails là gì?
Rails Rails là một framework phát triển được viết bằng ngôn ngữ Ruby để xây dựng các ứng dụng web. Nó được tạo ra như nền tảng của ứng dụng Basecamp và sau đó được phát hành dưới dạng phần mềm mã nguồn mở vào năm 2004. Rails cung cấp nhiều tính năng và chức năng tiêu chuẩn tích hợp sẵn, khiến nó trở thành lựa chọn phù hợp cho việc xây dựng nguyên mẫu MVP (Sản phẩm khả thi tối thiểu).ping và phát triển sản phẩm nhanh chóng.
Rails được tạo ra bởi David Heinemeier Hansson, thường được biết đến với tên gọi DHH. Đây là một trong những công cụ có ảnh hưởng và phổ biến nhất để xây dựng các ứng dụng web. Nó được sử dụng bởi các trang web lớn như Airbnb, GitHub và Shopify.
Tại sao lại là Rails?
Trước khi cài đặt bộ công cụ, việc hiểu lý do tại sao Rails vẫn là lựa chọn phổ biến cho việc phát triển phần mềm là rất hữu ích.ping Ứng dụng web nhanh chóng.
- Rails được đóng gói dưới dạng gem Ruby, và bạn có thể sử dụng nó để xây dựng nhiều loại ứng dụng khác nhau.
- Nó cho phép bạn xây dựng các ứng dụng web thông thường, trang web thương mại điện tử, hệ thống quản lý nội dung, và nhiều hơn nữa.
- Rails là một framework toàn diện bao gồm mọi thứ bạn cần để tạo ra một ứng dụng web dựa trên cơ sở dữ liệu sử dụng mô hình Model-View-Controller (MVC).
- Tất cả các lớp được thiết kế để hoạt động liền mạch với nhau, vì vậy các dự án Rails thường cần ít dòng mã hơn so với các dự án tương đương trong các framework khác.
Cách tải xuống và cài đặt Ruby trên Windows
Quá trình cài đặt phụ thuộc vào hệ điều hành của bạn. Các phần tiếp theo sẽ hướng dẫn cài đặt Ruby trên... Windows, Mac và Linux.
Bước 1) Tải xuống Rubyinstaller.
Cách dễ nhất để cài đặt Ruby trên máy tính của bạn Windows Máy tính được cài đặt thông qua Ruby Installer, có sẵn tại... https://rubyinstaller.org/.
Sau khi tải xuống, hãy chạy trình cài đặt.
Bước 2) Nhấp vào tệp cài đặt đã tải xuống.
Double- Nhấp chuột vào tệp cài đặt đã tải xuống, ví dụ: rubyinstaller-2.4.1-2-x64.exe.
Bước 3) Chấp nhận giấy phép.
Chọn nút radio “Tôi chấp nhận giấy phép” và nhấn nút “Tiếp theo”. Bạn sẽ thấy màn hình bên dưới.
Bước 4) Chọn hai ô đầu tiên.
Đánh dấu vào hai ô đầu tiên để chạy tập lệnh Ruby dễ dàng hơn.
Nhấp vào nút “Cài đặt” để bắt đầu cài đặt. Bạn sẽ thấy màn hình bên dưới khi quá trình hoàn tất.
Bước 5) Nhấp vào Kết thúc.
Không được bỏ chọn tùy chọn cài đặt MSYS2. Nhấp vào “Hoàn tất” để hoàn thành cài đặt. Một cửa sổ dòng lệnh sẽ mở ra như hình bên dưới.
Bước 6) Cài đặt MSYS2.
Bước này cài đặt MSYS2, một nền tảng xây dựng có trình quản lý gói giúp dễ dàng cài đặt các gói trên hệ thống. Windows.
Nhấn Enter để cài đặt tất cả các thành phần vì chúng đều cần thiết để có môi trường phát triển Ruby on Rails hoạt động trơn tru. Windows.
Cài đặt Rails
Bạn cần cài đặt Ruby từ phần trước. Tiếp theo, hãy cài đặt Rails. Bạn có thể cài đặt Rails bằng cách sử dụng gói từ... Trình cài đặt RailsTuy nhiên, gói phần mềm thường không cung cấp phiên bản mới nhất của tất cả các thư viện cần thiết.
Nếu bạn đã cài đặt sẵn phiên bản Ruby mới nhất, RubyGems cơ bản và các tiện ích mở rộng, chỉ cần chạy lệnh sau tại dấu nhắc lệnh để cài đặt Rails trên hệ thống của bạn: gem install rails.
Bạn cũng sẽ cần phải cài đặt Node.js Nếu bạn chưa có nó, vì một số thư viện mà Rails phụ thuộc vào yêu cầu một... JavaĐể script hoạt động chính xác, hãy tải Node.js về tại... https://nodejs.org.
Một cách tiếp cận phổ biến và được ưa chuộng hơn là... Windows là sử dụng Windows Hệ thống con dành cho Linux. Nó cung cấp môi trường GNU/Linux với các công cụ dòng lệnh, tiện ích và các ứng dụng thông dụng trực tiếp bên trong hệ thống. Windows.
Cài đặt Ruby trên Mac
Máy Mac của bạn đã được cài đặt sẵn Ruby. Tuy nhiên, phiên bản cài đặt sẵn thường đã lỗi thời, vì vậy bạn nên cài đặt phiên bản mới hơn.
Cách dễ nhất để làm điều này là sử dụng trình quản lý gói như... HomebrewTrước tiên, bạn có thể cần cài đặt Homebrew bằng cách chạy lệnh sau trong Terminal.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Thao tác này sẽ hiển thị cảnh báo và yêu cầu bạn nhập mật khẩu. Nhập mật khẩu Mac của bạn (các ký tự sẽ không hiển thị khi bạn gõ) và nhấn Enter khi hoàn tất. Sau đó, chạy lệnh Homebrew này để cài đặt Ruby trên máy Mac của bạn.
brew install ruby
Sau đó chạy lệnh này:
echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile
Thao tác này sẽ đặt bản cài đặt Ruby mới làm phiên bản Ruby mặc định trên hệ thống của bạn thay vì phiên bản Ruby được cài đặt sẵn.
Để xác nhận quá trình cài đặt thành công, hãy chạy lệnh sau trong Terminal:
ruby --version
Lệnh này sẽ in ra số phiên bản Ruby mà bạn đã cài đặt. Kết quả sẽ trông giống như sau:
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
Cài đặt Ruby trên Ubuntu (Linux)
Cách dễ nhất để cài đặt Ruby trên Ubuntu Cài đặt Ruby thông qua trình quản lý gói apt. Chạy các lệnh sau trong Terminal để cài đặt phiên bản Ruby mới nhất từ... Ubuntu kho lưu trữ.
- sudo apt update – Thao tác này cập nhật mặc định Ubuntu kho lưu trữ.
- sudo apt install ruby-full – Thao tác này tải xuống và cài đặt phiên bản Ruby mới nhất.
Để xác nhận cài đặt, hãy chạy lệnh sau: ruby –versionLệnh này sẽ in ra phiên bản Ruby mà bạn đã cài đặt.
Cài đặt Rails trên Ubuntu (Linux)
Hãy làm theo các bước bên dưới để cài đặt Rails trên máy Linux của bạn.
Bước 1) Cập nhật trình quản lý gem của bạn bằng cách chạy lệnh sau: cập nhật đá quý –system trong cửa sổ Terminal hoặc dấu nhắc lệnh.
Bước 2) chạy gem cài đặt rails để cài đặt phiên bản Rails mới nhất trên máy tính của bạn.
Bước 3) Cài đặt gem bundler để dễ dàng quản lý các phụ thuộc gem cho ứng dụng Rails. Chạy gem cài đặt bundler.
Hai nguyên tắc của Rails
Rails tuân theo các nguyên tắc thiết kế phần mềm cơ bản và khuyến khích bạn cũng áp dụng chúng.
Hai phổ biến nhất là:
- Đừng lặp lại chính mình (DRY) – Điều này dẫn đến mã nguồn ngắn gọn, nhất quán và dễ bảo trì.
- Quy ước về cấu hình – Rails được cấu hình sẵn với các thiết lập mặc định hợp lý, phù hợp với hầu hết các trường hợp sử dụng phổ biến. Điều này giúp phát triển ứng dụng nhanh chóng và giảm thiểu lượng mã cần bảo trì.
Rails – Cấu trúc tệp dự án
Sau khi cài đặt Rails trên hệ thống, hãy tạo một ứng dụng Rails. Các phần tiếp theo sẽ hướng dẫn bạn qua một ví dụ về Ruby on Rails bằng cách xây dựng một ứng dụng danh sách việc cần làm (Todo list). Chạy lệnh sau trong Terminal để tạo ứng dụng:
rails new todo_app
Lệnh này tạo một thư mục có tên ứng dụng việc cần làm trong thư mục hiện tại với cấu trúc thư mục cơ bản của một ứng dụng web Rails, như hình bên dưới.
Dưới đây là các thư mục chính được tạo cho dự án:
ứng dụng – Phân nhóm các thư mục con cho giao diện người dùng/bố cục (các khung nhìn và hàm hỗ trợ), bộ điều khiển (các tệp điều khiển) và mô hình (logic nghiệp vụ/ứng dụng).
ứng dụng/bộ điều khiển – Lưu trữ các tệp điều khiển được Rails sử dụng để xử lý các yêu cầu từ phía máy khách.
ứng dụng/tài sản – Chứa các tệp tĩnh cần thiết cho giao diện người dùng của ứng dụng, được nhóm theo loại: JavaScript tập tin, hình ảnh và bảng định kiểu.
ứng dụng/người trợ giúp – Chứa các hàm hỗ trợ giúp giữ cho mô hình ứng dụng, giao diện người dùng và logic điều khiển của bạn tập trung, gọn gàng và không bị rối rắm.
ứng dụng/mô hình – Chứa các tệp mô phỏng cơ sở dữ liệu của ứng dụng. Các lớp mô hình giúp việc làm việc với cơ sở dữ liệu trở nên rất dễ dàng.
ứng dụng/lượt xem – Chứa các tệp mẫu/bố cục mà người dùng ứng dụng của bạn tương tác. Các mẫu này kết hợp HTML với dữ liệu từ cơ sở dữ liệu.
bin – Chứa các tập lệnh Rails khởi chạy ứng dụng của bạn. Nó cũng có thể bao gồm các tập lệnh khác mà bạn sử dụng để thiết lập và nâng cấp ứng dụng.
cấu hình – chứa các tệp cấu hình như cơ sở dữ liệu.yml, môi trường.rb, tuyến đường.rbv.v... những thứ mà ứng dụng của bạn cần để hoạt động.
db – Chứa các tệp và tập lệnh được sử dụng để quản lý cơ sở dữ liệu ứng dụng của bạn.
lib – Bao gồm các mô-đun mở rộng cho ứng dụng của bạn.
đăng nhập – chứa các tệp nhật ký như server.log, Development.log, test.log và production.logĐược sử dụng để gỡ lỗi hoặc giám sát ứng dụng của bạn.
công khai – Chứa các tệp tĩnh và tài sản đã biên dịch, chẳng hạn như các tệp HTML, JavaCác tập tin kịch bản, hình ảnh và bảng định kiểu.
thử nghiệm – Chứa các tệp kiểm thử mà bạn viết để kiểm tra chức năng của ứng dụng.
tmp – Chứa các tệp tạm thời như tệp bộ nhớ đệm và tệp PID.
nhà cung cấp – Chứa các thư viện của bên thứ ba.
tệp đá quý – Chỉ định các yêu cầu cơ bản về gem để chạy ứng dụng web của bạn. Bạn có thể nhóm các gem thành các nhóm phát triển, kiểm thử hoặc sản xuất, và Rails sẽ biết khi nào cần bao gồm từng gem.
Gemfile.lock – Không giống như Gemfile, tệp này liệt kê rõ ràng các gem bạn muốn sử dụng trong ứng dụng, Gemfile.lock còn chứa thêm các gem khác mà các gem được liệt kê trong Gemfile phụ thuộc vào. Chúng sẽ được tự động cài đặt để đáp ứng các yêu cầu phụ thuộc.
Readme.md – Sử dụng tập tin này để chia sẻ các thông tin chi tiết cần thiết về ứng dụng của bạn, chẳng hạn như ứng dụng làm gì, cách cài đặt và chạy ứng dụng.
rakefile – Chứa nhiều định nghĩa tác vụ rake giúp tự động hóa các tác vụ quản trị hàng ngày của ứng dụng.
config.ru – Một tệp cấu hình Rack cung cấp giao diện cho máy chủ web để khởi chạy ứng dụng của bạn.
Thay đổi thư mục thành ứng dụng việc cần làm thư mục Rails được tạo và chạy máy chủ rails để bắt đầu ứng dụng. Kiểu localhost: 3000 Trong thanh địa chỉ của trình duyệt web, bạn sẽ thấy màn hình bên dưới nếu mọi việc diễn ra suôn sẻ.
Đây là trang chủ mặc định của ứng dụng. Bạn sẽ thay đổi nó trong phần sau của hướng dẫn Ruby on Rails này. Bạn có thể dừng máy chủ bằng cách nhấn phím... Ctrl + C.
Rails – Tạo lệnh
Lệnh `generate` của Rails sử dụng các mẫu để tạo ra nhiều thứ hữu ích trong ứng dụng của bạn. Các trình tạo này giúp tiết kiệm rất nhiều thời gian.
Họ viết mã mẫu cần thiết để ứng dụng web của bạn hoạt động. Chạy đường ray tạo ra Nhập trực tiếp vào dấu nhắc lệnh hoặc Terminal để xem danh sách các máy phát điện khả dụng, như hình bên dưới.
Bạn cũng có thể chạy đường ray tạo ra Để xem mô tả về chức năng của lệnh, hãy nhấp vào đây. Lệnh này liệt kê các tùy chọn tiện lợi và ví dụ sử dụng. Hình bên dưới hiển thị kết quả khi chạy lệnh. rails generate controller.
Sử dụng lệnh `rails generate scaffold` để tự động tạo model, view và controller cho ứng dụng danh sách việc cần làm mà bạn đang xây dựng. Chạy lệnh sau trong Terminal của bạn (đảm bảo bạn vẫn đang ở trong môi trường dòng lệnh) ứng dụng việc cần làm danh mục):
rails generate scaffold todo_list title:string description:text
Thao tác này tạo ra một giao diện web CRUD (Tạo, Đọc, Cập nhật, Xóa) hoàn chỉnh cho bảng Danh sách việc cần làm.
Một lệnh hữu ích khác cần biết là đường ray bị phá hủyNó đảo ngược mọi thứ đường ray tạo ra không.
Đường ray – Định tuyến
Hệ thống định tuyến của Rails, được gọi là Rails router, xử lý tất cả các yêu cầu đến ứng dụng web của bạn. Nó kiểm tra... URL của mỗi yêu cầu và ánh xạ nó đến hành động bộ điều khiển chịu trách nhiệm xử lý yêu cầu đó, sử dụng cú pháp được chỉ định trong tệp định tuyến (config/routes.rb).
Tệp routes kiểm soát mọi thứ URL khía cạnh của ứng dụng web của bạn. Rails sử dụng thiết kế RESTful dựa trên kiểu kiến trúc REST, cung cấp một bản đồping giữa các động từ HTTP và yêu cầu URLđể điều khiển các hành động.
Tệp tuyến đường được tạo khi bạn chạy đường ray mới Trước đó. Tiếp tục với ứng dụng Todo mà bạn đang xây dựng, hãy chạy lệnh sau:
rails db:migrate
Hãy đảm bảo bạn vẫn đang ở thư mục gốc của ứng dụng (the ứng dụng việc cần làm danh mục).
Khởi động lại máy chủ bằng máy chủ rails. Kiểu http://localhost:3000/todo_lists/ Trong trình duyệt của bạn, nhập lệnh và nhấn Enter. Bạn sẽ nhận được một trang web tương tự như hình bên dưới.
Đây là giao diện danh sách việc cần làm được tạo ra bởi lệnh scaffold, và nó được điều khiển bởi TodoListsController. chỉ số hành động.
Thêm danh sách việc cần làm bằng cách nhấp vào “Thêm danh sách việc cần làm mới” trên trang. Bạn sẽ thấy màn hình bên dưới.
Chú ý URL bây giờ là http://localhost:3000/todo_lists/newĐây là trang để tạo danh sách việc cần làm mới, và nó được điều khiển bởi TodoListsController. người mới phương pháp.
Nhập tiêu đề và mô tả danh sách việc cần làm của bạn vào biểu mẫu và nhấp vào “Tạo danh sách việc cần làm”. URL nên thay đổi thành http://localhost:3000/todo_lists/1, Như hình dưới đây.
Đây là trang hiển thị của một danh sách việc cần làm, được điều khiển bởi TodoListsController. hiển thị phương pháp. Nếu bạn quay lại http://localhost:3000/todo_lists/Giờ bạn sẽ thấy màn hình bên dưới với danh sách việc cần làm mới được thêm vào.
Rails có thể ánh xạ từng yêu cầu đến hành động TodoListsController tương ứng bằng cách sử dụng định nghĩa tuyến đường trong config/routes.rb.
Nếu bạn xem qua tập tin này, bạn sẽ thấy một dòng duy nhất. tài nguyên :danh sách việc cần làm, đây là cách mặc định của Rails để viết các tuyến đường RESTful. Dòng lệnh này tạo ra bảy tuyến đường, tất cả đều ánh xạ tới .ping đến bộ điều khiển TodoLists.
Theo quy ước, mỗi hành động của bộ điều khiển tương ứng với một thao tác CRUD (Tạo, Đọc, Cập nhật, Xóa) cụ thể trong cơ sở dữ liệu.
chạy tuyến đường sắt Trong dòng lệnh của bạn, hãy xem các tuyến đường khác nhau có sẵn trong ứng dụng. Hình bên dưới hiển thị kết quả của việc chạy lệnh đó. tuyến đường sắt.
Đường ray – Chế độ xem
Lớp giao diện người dùng (View layer) là một trong những thành phần của mô hình MVC và chịu trách nhiệm tạo ra phản hồi HTML cho mỗi yêu cầu gửi đến ứng dụng của bạn. Rails sử dụng ERB (Embedded Ruby) theo mặc định, đây là một hệ thống tạo mẫu mạnh mẽ dành cho Ruby.
ERB giúp việc viết và bảo trì các mẫu trở nên dễ dàng hơn bằng cách kết hợp văn bản thuần túy với mã Ruby để thay thế biến và kiểm soát luồng. Một mẫu ERB sử dụng... .html.erb gia hạn.
Bạn chủ yếu sẽ sử dụng hai thẻ đánh dấu, mỗi thẻ sẽ khiến mã được nhúng được xử lý theo một cách cụ thể.
Một thẻ có dấu bằng <%= %> Điều này cho thấy đoạn mã được nhúng là một biểu thức, và kết quả của đoạn mã đó sẽ được thay thế vào đầu ra khi mẫu được hiển thị.
Thẻ khác không có dấu bằng <% %> Thông báo cho trình hiển thị rằng kết quả của đoạn mã không nên được thay thế hoặc in ra trong đầu ra.
Mỗi bộ điều khiển trong ứng dụng Rails của bạn có một thư mục con tương ứng trong ứng dụng/lượt xemvà mỗi hành động trong bộ điều khiển đều có một hành động tương ứng. .html.erb tệp trong thư mục con đó.
Hãy xem ứng dụng/lượt xem của ứng dụng Todo mà bạn đang xây dựng. Bạn sẽ tìm thấy một thư mục con có tên là danh sách việc cần làm chứa .html.erb các tệp có tên tương ứng với các hành động trong Danh sách việc cần làm người điều khiển.
Rails - ActiveRecord, Mẫu bản ghi hoạt động và ORM
ActiveRecord là thư viện Ruby triển khai mẫu thiết kế Active Record. Trong mẫu thiết kế này, một lớp đại diện cho một bảng trong cơ sở dữ liệu, và một thể hiện của lớp đó đại diện cho một hàng trong bảng đó.
ActiveRecord thường được gọi là ORM (Object Relational Map - Bản đồ quan hệ đối tượng).ping(lớp) là một kỹ thuật cho phép bạn quản lý cơ sở dữ liệu bằng ngôn ngữ mà bạn cảm thấy thoải mái nhất. Nó không phụ thuộc vào loại cơ sở dữ liệu, vì vậy bạn có thể dễ dàng chuyển đổi giữa các cơ sở dữ liệu — ví dụ: SQLite, MySQL, PostgreSQL, SQL Server, hoặc Oracle — sử dụng cùng một mã và logic.
Ví dụ, để lấy một mảng chứa tất cả các danh sách việc cần làm trong ứng dụng của bạn, bạn không cần phải viết mã để mở kết nối, chạy truy vấn SQL SELECT và chuyển đổi kết quả.
Bạn chỉ cần gõ Danh sách việc cần làm.allVà ActiveRecord sẽ trả về một mảng chứa các đối tượng TodoList mà bạn có thể sử dụng tùy ý.
Bạn chỉ cần thiết lập cấu hình trong config / database.ymlVà ActiveRecord xử lý sự khác biệt giữa các hệ thống cơ sở dữ liệu. Khi bạn chuyển từ cơ sở dữ liệu này sang cơ sở dữ liệu khác, bạn không cần phải viết lại mã của mình.
Bạn tập trung vào logic ứng dụng, còn ActiveRecord sẽ lo phần chi tiết cấp thấp về việc kết nối với cơ sở dữ liệu. Nó sử dụng các quy ước đặt tên để ánh xạ các model với các bảng trong cơ sở dữ liệu.
Rails sẽ tự động chuyển đổi tên lớp model của bạn sang dạng số nhiều để tìm bảng cơ sở dữ liệu tương ứng. Vì vậy, đối với một lớp, ví dụ: Những việc cần làmActiveRecord sử dụng một bảng cơ sở dữ liệu có tên là... danh sách việc cần làm.
Đường ray – Di chuyển
Rails migration là một đoạn mã script được sử dụng để phát triển cơ sở dữ liệu ứng dụng của bạn. Nó được dùng để thiết lập hoặc thay đổi cơ sở dữ liệu mà không cần phải tự viết mã SQL.
Nó sử dụng Ruby để định nghĩa các thay đổi đối với lược đồ cơ sở dữ liệu và cho phép sử dụng hệ thống quản lý phiên bản để giữ cho cơ sở dữ liệu của bạn được đồng bộ hóa giữa các môi trường.
Rails Migrations sử dụng Ngôn ngữ Chuyên biệt cho Miền (DSL) của Ruby. Điều này hoạt động như một công cụ tuyệt đối.tracĐiều này cho phép bạn sử dụng hoặc thay đổi công cụ cơ sở dữ liệu dựa trên yêu cầu của mình.
Các bản di chuyển dữ liệu có thể được chia sẻ với bất kỳ ai đang làm việc trên ứng dụng và cũng có thể được hoàn tác để hủy bỏ các thay đổi. Đây là một cơ chế an toàn mạnh mẽ, vì vậy bạn không cần phải lo lắng về việc gây ra thiệt hại vĩnh viễn cho cơ sở dữ liệu của mình.
Rails – Hiệp hội ActiveRecord
Mối liên hệ giữa hai mô hình ActiveRecord được gọi là liên kết (association). Liên kết giúp việc thực hiện các thao tác trên các bản ghi liên quan trong mã của bạn trở nên dễ dàng hơn nhiều. Có bốn loại liên kết phổ biến.
Gặp mặt trực tiếp: Một bản ghi chứa chính xác một trường hợp của một mô hình khác. Một ví dụ điển hình là hồ sơ người dùng — một người dùng chỉ có một hồ sơ. Nó sử dụng... có một từ khóa.
Một đến Nhiều: Mối liên hệ phổ biến nhất — một mô hình có thể chứa từ không đến nhiều lần xuất hiện của một mô hình khác. Sử dụng có nhiều từ khóa để biểu thị sự liên kết này.
Nhiều-đến-nhiều: Phức tạp hơn một chút. ActiveRecord cung cấp hai cách để xử lý vấn đề này: has_and_belongs_to_many và có nhiều :thông quaĐiều này cho phép bạn truy cập vào mô hình kết hợp được định nghĩa trong một bảng riêng biệt.
Đa hình từ một sang nhiều: Một kiểu liên kết nâng cao hơn trong Rails. Nó định nghĩa một model có thể thuộc về nhiều model khác nhau trong cùng một liên kết.
Rails – Xác thực ActiveRecord
Việc xác thực giúp đảm bảo bạn có dữ liệu chính xác, vì làm việc với dữ liệu không chính xác tiềm ẩn rủi ro và có thể gây thiệt hại về tiền bạc cho doanh nghiệp của bạn.
Việc xác thực cũng cung cấp thêm một lớp bảo mật chống lại những người dùng độc hại cố gắng chèn dữ liệu nguy hiểm vào cơ sở dữ liệu của bạn. Rails cung cấp một API rõ ràng về các công cụ hỗ trợ xác thực trong ActiveRecord giúp giữ cho cơ sở dữ liệu của bạn sạch sẽ, an toàn và không có lỗi.
Các quy tắc xác thực của ActiveRecord được thực thi trên các đối tượng mô hình trước khi lưu vào cơ sở dữ liệu, điều này giúp chúng đáng tin cậy hơn và tuân theo các thực tiễn tốt nhất.
Các phương thức ActiveRecord sau đây sẽ kích hoạt quá trình xác thực khi được gọi trên các đối tượng mô hình: tạo, tạo!, lưu, lưu!, cập nhật và cập nhật!Các phiên bản bang (Tạo!, lưu!, và cập nhật!) sẽ ném ra một ngoại lệ nếu bản ghi không hợp lệ, trong khi các phiên bản không có dấu chấm than sẽ trả về false.
Các công cụ hỗ trợ xác thực phổ biến nhất trong ActiveRecord là:
- Xác nhận: Chức năng này xác thực rằng hai trường có cùng giá trị, ví dụ như mật khẩu và xác nhận mật khẩu. Nó được sử dụng cùng với trình trợ giúp xác thực sự hiện diện.
- Sự hiện diện: Kiểm tra xem trường đó có trống hay không.
- Tính độc đáo: Đảm bảo giá trị duy nhất cho một trường, ví dụ như tên người dùng.
- Chiều dài: Áp đặt giới hạn về độ dài ký tự cho một trường.
Bạn cũng có thể tạo quy tắc xác thực tùy chỉnh của riêng mình bằng cách sử dụng xác nhận tính hợp lệ phương thức và truyền vào đó tên của một phương thức xác thực tùy chỉnh.
Kiểm tra mẫu lỗi Đối tượng này giúp bạn tìm hiểu lý do tại sao quá trình xác thực thất bại. Điều này cung cấp cho bạn mọi thứ cần thiết để làm cho ứng dụng của bạn bị hạn chế và bảo mật hơn, chỉ cho phép dữ liệu hợp lệ được đưa vào cơ sở dữ liệu.
Rails – Bộ điều khiển hành động
Bộ điều khiển Rails là trung tâm của ứng dụng web của bạn. Nó tạo điều kiện và điều phối việc giao tiếp giữa người dùng, mô hình và khung nhìn.
Các lớp điều khiển của bạn kế thừa từ Bộ điều khiển ứng dụng, chứa mã có thể chạy trong tất cả các bộ điều khiển khác, và bản thân nó kế thừa từ ActionController::Base.
Bộ điều khiển cung cấp những thông tin sau cho ứng dụng của bạn:
- Nó chuyển hướng các yêu cầu bên ngoài đến các hành động nội bộ.
- Nó quản lý bộ nhớ đệm, giúp tăng hiệu suất cho ứng dụng của bạn.
- Nó quản lý các phương thức hỗ trợ mở rộng khả năng của mẫu giao diện và cũng quản lý các phiên người dùng, mang lại trải nghiệm mượt mà cho người dùng.
Rails – Cấu hình
Bạn có thể cấu hình các thành phần như trình khởi tạo, tài sản, trình tạo và middleware bằng cách sử dụng các tệp cấu hình và trình khởi tạo ứng dụng Rails của mình. cấu hình thư mục. Các tệp như config/application.rb, config/environments/development.rbvà config/environments/test.rb được sử dụng ở đây. Bạn cũng có thể thêm các cài đặt tùy chỉnh cho ứng dụng của mình.
Rails – Gỡ lỗi
Trong quá trình xây dựng ứng dụng, bạn sẽ cần gỡ lỗi mã nguồn. Rails giúp việc này trở nên dễ dàng hơn với các công cụ gỡ lỗi. byebug gem. Bạn có thể bắt đầu phiên gỡ lỗi bằng cách đặt từ khóa byebug bất kỳ đâu trong mã ứng dụng của bạn.
Thao tác này tạm thời dừng quá trình thực thi tại điểm đó. Thư viện byebug cung cấp một số lệnh. Những lệnh hữu ích nhất là:
- kế tiếp: chuyển sang dòng mã tiếp theo, bỏ quaping Tất cả các phương thức được gọi bởi dòng hiện tại.
- bươc: tương tự như tiếp theo, nhưng lại đi sâu vào từng phương thức được gọi.
- phá vỡ: Dừng quá trình thực thi mã.
- tiếp tục: Tiếp tục thực thi mã.
Ngoài ra còn có các công cụ gỡ lỗi hữu ích khác, chẳng hạn như... nâng lênChúng đều cung cấp chức năng tương tự với cú pháp hơi khác nhau. Không nên sử dụng các gem gỡ lỗi trong môi trường sản xuất, vì chúng tiềm ẩn rủi ro cho ứng dụng của bạn và mang lại trải nghiệm không tốt cho người dùng.
Các tệp nhật ký có thể được kiểm tra lỗi trong môi trường sản xuất và xử lý phù hợp. Bạn cũng nên áp dụng phương pháp Phát triển dựa trên kiểm thử (TDD) khi xây dựng ứng dụng để đảm bảo mọi thứ hoạt động tốt trước khi triển khai lên môi trường sản xuất.













