[Blogging Rails] Mở Đầu

I. Giới Thiệu

1. Ruby on Rails

Ruby là ngôn ngữ lập trình hướng đối tượng do một tác giả người Nhật tên là Yukihiro Matsumoto phát triển vào khoảng giữa thập kỉ 90. Ruby có cú pháp đơn giản, dễ học, dễ nhớ, gần với tư duy logic thông thường. Kế thừa những đặc tính của Ruby, Rails, framework dựa trên nền tảng Ruby, được David Heinemeier Hansson tạo vào năm 2003 để giúp các lập trình viên phát triển ứng dụng web có thể nhanh chóng, dễ dàng hơn trong công việc của họ. Rails giúp người lập trình viên giảm thiểu rất nhiều thời gian viết code với các công cụ của mình như generate & scaffolding. Rails quản lý mã nguồn theo mô hình Model – View – Controller (MVC) và có một cộng động rất lớn lập trình viên với hàng ngàn thư viện tiện dụng, miễn phí.

2. Ứng dụng Blogging Rails

Trong thời gian vài năm trở lại đây, Ruby on Rails bắt đầu được nhiều công ty phần mềm Việt Nam sử dụng và tiếp tục duy trì sử dụng vì thấy rõ những lợi ích của nó. Tuy nhiên, cộng đồng Ruby Việt Nam chưa có nhiều những bài viết hướng dẫn người mới làm quen với ngôn ngữ này. Sau khi làm quen với ngôn ngữ này, và tạo ra một blog cá nhân đơn giản, tôi cảm thấy thật sự hứng thú với ngôn ngữ này. Dựa trên những gì tôi học được trong quá trình đó, tôi viết lại tài liệu này hi vọng có thể giúp ích được cho những người mới làm quen với Ruby on Rails trong cộng đồng lập trình viên Việt Nam.

Hi vọng bạn cũng sẽ thích nó, và cảm thấy lập trình Ruby không phải quá khó.

Tài liệu này tôi viết dựa trên quá trình làm blog đơn giản. Sau khi hoàn thành ứng dụng được giới thiệu trong tài liệu này, bạn sẽ có một blog cá nhân cùng công cụ admin để quản lý blog.

Trong tài liệu này, bạn sẽ được làm quen với ngôn ngữ Ruby, làm quen với Rails 4 và phương pháp lập trình TDD. Trong tài liệu, tôi sử dụng cơ sở dữ liệu PostgreSQL để có thể deploy lên Heroku. Tôi cũng có đề cập tới một số kiến thức cơ bản của CSS, HTML, Java Script, Jquery … Vì thế, hãy yên tâm cho dù bạn chưa có kinh nghiệm lập trình web trước đó.

Xin cám ơn công ty Septeni Technology cùng các đồng nghiệp ở đây đã tạo điện kiện và giúp đỡ tôi rất nhiều trong quá trình viết tài liệu này.

II. Cài Đặt Môi Trường

Trong tài liệu này, tôi sẽ hướng dẫn các bạn cài đặt Ruby, Rails trên hệ điều hành Ubuntu vì tôi cũng đang dùng hệ điều hành này.

Hầu hết, các version của Ubuntu đều có hỗ trợ Ruby, nhưng là Ruby 1.8.7, trong khi Ruby đã có version 2.0 và mới hơn. Dự án mà chúng ta chuẩn bị làm sử dụng Rails 4.0, version này của Rails chỉ hỗ trợ Ruby 1.9.3 hoặc mới hơn. Tôi đang dùng Ruby 2.0.0.

Trong tài liệu này tôi sẽ thường xuyên sử dụng Ubuntu Terminal. Bạn có thể khởi động terminal bằng tổ hợp phím CTRL + ALT + T

Đầu tiên, chúng ta cài đặt Ruby với RVM, một công cụ giúp bạn cài đặt và quản lý version Ruby. Bạn có thể tìm hiểu thêm về RVM.

sudo apt-get install curl
curl -L get.rvm.io | bash -s stable

## Cài đặt những gói thư viện phụ thuộc khác
sudo apt-get install build-essential openssl libreadline6
libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev
libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev
autoconf libc6-dev ncurses-dev automake libtool bison
subversion pkg-config

## Load RVM vào terminal và khởi động lại terminal
source ~/.rvm/scripts/rvm
type rvm | head -n 1

## Install Ruby 
rvm install 2.0.0
rvm use 2.0.0 --default

## Cài đặt git để quản lý source code và deploy lên Heroku
sudo apt-get install git-core build-essential

## Cài đặt Rails
gem install rails

III. Tạo ứng dụng Blogging Rails

Để tạo ứng dụng Rails, mà cụ thể là tạo blog của bạn, bạn gõ lệnh sau trong terminal

## tạo một thư mục projects trước
mkdir projects

## đi tới thư mục /projects
cd projects

## Tạo project Blogging Rails
rails new blogging_rails

Bạn sẽ thấy một màn hình như sau

Bạn có thể thấy câu lệnh trên làm rất nhiều công việc cho bạn. Nó tạo ra một loạt các thư mục, các file trong project, sau đó run bundle install. Câu lệnh này để cài đặt các thư viện mà bạn đang có trong file thư viện: Gemfile. Mỗi một thư viện bạn sử dụng trong dự án của mình bạn đều thêm vào file này. Các thư viện đó được gọi là các gem. Bạn đừng quên, mỗi lần thêm thư viện, để thư viện đó sử dụng được trong dự án, bạn cần chạy lệnh bundle install. Ở lần tạo dự án đầu tiên này, câu lệnh rails new đã làm cho bạn công việc đó.

Sau đây, tôi sẽ giới thiệu qua cấu trúc của dự án

Thư mụcChức năng

appThư mục chính của dự án, chứa model, views, controllers, helpers.
app/assetsNơi chứa các file CSS, Javascript, Ảnh của dự án.
configNơi chứa các file config dự án.
dbNơi chứa các file cơ sở dữ liệu.
logNơi chứa các file log của dự án.
publicNơi chứa các file ảnh, error pages …
GemfileChứa các thư viện của dự án
Gemfile.lockThông tin các thư viện sử dụng, version …. Mỗi khi chạy bundle Gemfile thì file này sẽ thay đổi
testNơi chứa các file test của dự án

Bạn đã có cái nhìn qua về Rails, có thể tạo được một project mới, có cái nhìn tổng quan về cấu trúc dự án. Bây giờ, bạn hãy khởi động app mà bạn vừa tạo bằng câu lệnh:

rails server

Và mở trình duyệt lên, gõ địa chỉ: localhost:3000
Bạn sẽ nhìn thấy trình duyệt web hiện lên như sau:

Ứng dụng sẽ chạy trên localhost, cổng 3000. Và cái mà bạn nhìn thấy là màn hình welcome của Rails. Tôi sẽ hướng dẫn cách cài đặt lên Heroku, edit views ở những bài sau. Hi vọng bài viết đầu tiên này giúp bạn có cái nhìn tổng quan đầu tiên về Rails.

Add a Comment

Scroll Up