Ruby on Rails là gì? Hướng dẫn viết ứng dụng Rails đầu tiên


Ruby on Rails là gì?

Ruby on Rails, hay viết tắt là Rails hay RoR là một Web Framework được viết bằng ngôn ngữ lập trình Ruby. Ruby on Rails cũng là phần mềm mã nguồn mở (Open Source). Do đó, nó không chỉ miễn phí để sử dụng, bạn cũng có thể tham gia cải thiệ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ó thể chạy trên bắt kỳ phần mềm web server nào như Apache, Nginx, nhưng để tiện dụng cho quá trình phát triển thì chúng ta có thể sử dụng WEBrick web server được tích hợp trực tiếp vào ứ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

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web