Giới thiệu
Bạn đã từng nghe đến Ruby on Rails nhưng không biết nó là gì? Hãy tìm hiểu cùng tôi trong bài viết này. Ruby on Rails, hay còn được gọi là Rails hay RoR, là một Web Framework được viết bằng ngôn ngữ lập trình Ruby. Nó là một phần mềm mã nguồn mở, do đó bạn không chỉ có thể sử dụng miễn phí mà còn có thể tham gia cải thiện nó.
Một số thông tin về Ruby on Rails
- License: MIT License
- Tác giả ban đầu: David Heinemeier Hansson
- Phiên bản ổn định: 5.2.0 (19/0/2018)
- 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 sử dụng rộng rãi trong việc quản lý và xây dựng các dự án phần mềm có hệ thống.
- Model (Active Record): Chứa các phương thức và hàm để làm việc với CSDL. Ruby on Rails sử dụng thư viện Active Record để cung cấp giao diện để thao tác với các đối tượng CSDL và mối quan hệ giữa chúng.
- View (Action View): Trình bày dữ liệu theo định dạng cụ thể, như HTML trong Rails. Rails sử dụng thư viện ActionView để định nghĩa các định dạng template.
- Controller (Action Controller): Là thành phần nằm giữa model và view. Nó nhận truy vấn từ người dùng, thao tác với các đối tượng model và đẩy dữ liệu xuống view để tạo định dạng hiển thị. Cuối cùng, nó trả về định dạng hiển thị cho người dùng.
Cấu trúc thư mục của Rails
Dưới đây là cấu trúc thư mục của Rails:
- app/ : Tổ chức các thành phần của ứng dụng như mô hình MVC, helper, jobs, assets, mails. - bin/ : Chứa Rails Script để khởi động ứng dụng và các tập lệnh khác để setup, update, deploy ứng dụng. - config/ : Chứa các thông tin cấu hình cho ứng dụng như cấu hình database, cấu hình môi trường, điều hướng truy vấn. - db/ : Lưu trữ thông tin về các đối tượng của CSDL, mối quan hệ giữa chúng và các đoạn script để quản lý các đối tượng trong database. - lib/ : Chứa các thư viện do bạn định nghĩa. - log/ : Chứa các file log của ứng dụng. - public/ : Chứa các file tĩnh như ảnh, CSS, JavaScript. - test/ : Chứa test scripts của ứng dụng. - tmp/ : Thư mục tạm thời để xử lý trung gian. - vendor/ : Thư viện được cung cấp bởi bên thứ 3. - Rakefile : Giúp xây dựng, đóng gói và kiểm tra code Rails. - Gemfile, Gemfile.lock : File này cho phép bạn chỉ định các dependency cần thiết cho ứng dụng Rails của bạn. - package.json : File này cho phép bạn chỉ định npm dependency cần thiết cho ứng dụng Rails của bạn.
Hình ảnh minh họa cấu trúc thư mục của Rails
Hướng dẫn cài đặt Ruby on Rails
Để cài đặt Ruby on Rails trên Ubuntu, bạn có thể 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
Để khởi tạo ứng dụng Rails, bạn chạy lệnh sau:
rails new firstapp -d mysql
Trong đó, tham số -d
được sử dụng để chỉ định loại database sử dụng. Rails hỗ trợ 3 loại CSDL là SQLite (mặc định), PostgreSQL, MySQL.
Hình ảnh minh họa khởi tạo ứng dụng Rails
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 lệnh sau để tạo CSDL:
bin/rails db:create
3. Khởi động web server
Rails có thể chạy trên nhiều phần mềm web server như Apache, Nginx. Tuy nhiên, để tiện dụng trong quá trình phát triển, chúng ta có thể sử dụng WEBrick web server được tích hợp sẵn vào ứng dụng.
Để khởi động web server, chạy lệnh sau:
bin/rails server
Hình ảnh minh họa khởi động web server
Sau đó, mở trình duyệt và truy cập đường dẫn http://localhost:3000
, bạn sẽ thấy trang mặc định của Ruby on Rails.
Hình ảnh minh họa trang mặc định của Ruby on Rails
4. Lập trình tạo trang Hello
Bây giờ, chúng ta sẽ tạo một trang Hello với nội dung "Hello! We are from vinasupport.com".
- Đầu tiên, tạo Controller Hello bằng lệnh sau:
bin/rails generate controller Hello index
Hình ảnh minh họa tạo Controller Hello
- Sửa nội dung của file
app/views/hello/index.html.erb
:
Hello!
We are from vinasupport.com
- Đị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' end
Kết quả khi truy cập trang http://localhost:3000
:
Hình ảnh minh họa trang Hello
Đó là cách cơ bản để tạo một trang web sử dụng Ruby on Rails đầu tiên của bạn.
Nguồn: vinasupport.com