Ruby on Rails là gì?
Ruby on Rails, thường được gọi là Rails hoặc RoR, là một web framework được viết bằng ngôn ngữ lập trình Ruby. Rails cũng là một dự án mã nguồn mở (Open Source), điều này có nghĩa là nó không chỉ miễn phí để sử dụng, mà bạn cũng có khả năng tham gia vào việc cải thiện và phát triển nó.
Một số thông tin vể Ruby on Rails
- License: MIT License
- Original author: David Heinemeier Hansson
- Stable release: 5.2.0 (19/0/2018)
- Initial release date: 2004
- Ngôn ngữ: Ruby
- Kích thước: 18.2 MB
Ruby on Rails MVC Framework
Ruby on Rails phát triển dựa trên mô hình MVC (Model/View/Controller). Mô hình này được dùng khá rộng rãi trong các ngôn ngữ lập trình, với mục đích quản lý và xây dựng dự án phần mềm có hệ thống hơn.
- Model (Active Record): Chứa các phương thức, hàm để làm việc với CSDL. Thư viện mà Ruby on Rails sử dụng là Active Record. Nó cung cấp giao diện (interface) để thao tác với các đối tượng CSDL, mối quan hệ giữa các đối tượng trong CSDL.
- View (Action View): Trình bày dữ liệu theo một dịnh dạng cụ thể, như trong Rails là định dạng HTML. Thư viện mà Rails sử dụng là ActionView, dùng để định nghĩa các định dạng template.
- Controller (Action Controller): Controller là thành phần nằm giữa model và view. Nó làm nhiệm vụ điều hướng, nhận truy vấn (request) từ người dùng, thao tác với các đổi tượng model, đẩy dữ liệu xuống view để tạo định dạng hiển thị. Cuối cùng trả lại định dạng hiển thị cho người dùng.
Cấu trúc thư mục của Rails
Thư mục | Nhiệm vụ |
app/ | Nơi tổ chức các thành phần của ứng dụng, bao gồm thành phần của mô hình mvc, helper, jobs, assets, mails. |
bin/ | Chứa Rails Script để khởi động ứng dụng của bạn và có thể chứa các tập lệnh khác mà bạn sử dụng để setup, update, deploy hoặc chạy ứng dụng của mình. |
config/ | Chứa các thông tin config cho ứng dụng, như cấu hình database (database.yml), cấu hình môi trường (development.rb, production.rb, test.rb) hay điều hướng truy vấn (routes.rb) |
db/ | Lưu trữ các thông tin về các đối tượng của CSDL, mối quan hệ giữa các đối tượng, các đoạn script để quản lý các đối tượng (table) trong database |
lib/ | Chứa các thư viện do bạn định nghĩa |
log/ | Chứa các file logs của ứng dụng |
public/ | Chứa static file: file ảnh, css, javascript. |
test/ | Chứa test scripts của ứng dụng |
tmp/ | Rails sử dụng thư mục này để lưu các tệp tạm thời để xử lý trung gian. |
vendor/ | Thư viện được cung cấp bởi bên thứ 3 |
Rakefile | File này giúp xây dựng, đóng gói và kiểm tra code Rails. |
Gemfile Gemfile.lock |
Các file này cho phép bạn chỉ định dependency nào cần thiết cho ứng dụng Rails của bạn. Những file này được sử dụng bởi Bundler Ruby. |
package.json | Tệp này cho phép bạn chỉ định npm dependency nào cần thiết cho ứng dụng Rails của bạn. File này được sử dụng bởi Yarn. |
Hướng dẫn cài đặt Ruby on Rails
Các bạn vui lòng tham khảo bài viết Hướng dẫn cài đặt Ruby on Rails trên Ubuntu
Hướng dẫn tạo ứng dụng Rails đầu tiên
1. Khởi tạo ứng dụng Rails
Sử dụng command sau:
rails new firstapp -d mysql
Tham số -d sẽ chỉ định loại database sử dụng. Rails hỗ trợ 3 loại CSDL là SQLite (mặc định), PostgreSQL, MySQL.
2. Khởi tạo và cấu hình database
– Chỉnh sửa thông tin Username/Password của MySQL ở trong file config/database.yml
default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: [Username] password: [Password] socket: /var/run/mysqld/mysqld.sock development: <<: *default database: myapp_development
– Chạy command sau để tạo CSDL
3. Start web server
Rails có khả năng hoạt động trên nhiều loại máy chủ web khác nhau, bao gồm Apache và Nginx. Tuy nhiên, để tạo điều kiện thuận lợi cho quá trình phát triển, chúng ta có thể sử dụng máy chủ web WEBrick tích hợp sẵn trong ứng dụng.
Để start web server lên dùng command sau:
cd firstapp/ bin/rails server
Sau đó mở ứng dụng bằng đường dẫn: http://localhost:3000, ta sẽ có trang mặc định của Ruby on Rails như ảnh bên dưới.
4. Lập trình tạo trang Hello
Bây giờ chúng ta sẽ tạo ra 1 trang webpage Hello có nội dung là “Hello! We are from vinasupport.com“.
– Đầu tiên là tạo Controller Hello, bằng command sau:
bin/rails generate controller Hello index
– Sửa nội dung của file app/views/hello/index.html.erb
<h1>Hello! </h1> <p>We are from vinasupport.com</p>
– Định tuyến trang index sang controller Hello, bằng cách sửa nội dung file config/routes.erb
Rails.application.routes.draw do get '/', to: 'hello#index' # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end
Kết quả khi truy cập trang http://localhost:3000
Như vậy các bạn đã cơ bản tạo được trang web sử dụng Ruby on Rails đầu tiên của mình.