GiáoTrìnhRubyon Rails
Tài Liệu Training
(C) 2010 Công Ty TNHH TM - DV
Tin Học Giải Pháp Nhanh
Ruby on Rails
- www.RubyOnRails.org
- Web framework, tương tự như Zend, nhưng "full stack", hoàn
chỉnh từ lớp presentation tới logging.
- Full stack:
MVC framework.
ActiveRecord để truy cập Database
Khuyến khích Testing (test-driven development, hay TDD)
Unit-test
Functional test (test controller)
Integration test (test nhiều controller)
Server dạng application server chứ không phải như
Apache/PHP
Tại Sao Cần Biết Rubyon Rails?
- Ruby Là một ngôn ngữ "thời thượng", dễ học và dễ viết
(nhưng khó master!)
- So sánh với các ngôn ngữ và framework khác, RubyonRails
như xe đua so với xe đạp.
- Nhu cầu consulting ở Mỹ đang rất phát triển. Hướng chiến
lược của Giải Pháp Nhanh cần được định hướng để nắm bắt
nhu cầu này.
Chương Trình Training Rubyon Rails
1. Làm quen với Framework
1. Install: www.rubyonrails.org/download
2. Editor (Windows)
1. www.e-texteditor.com
Text Editor, tương tự như Textmatte, có hỗ trợ
Bundle (một dạng auto-complete). Cty có bản quyền
chương trình này
2. www.radrails.org
RadRails. Dựa trên nền Eclipse, có debugger.
3. Netbeans, tương tự như RadRails
3. Môi Trường:
1. Rails có thể chạy trên Windows như bình thường,
mặc dù môi trường chuẩn là Mac OS X
2. Cần install SVN và GitGui để hỗ trợ việc check in/out
code. http://code.google.com/p/msysgit/
Chương Trình Training Rubyon Rails
2. Tài liệu
http://guides.rubyonrails.org/
Đây là giáo trình chuẩn để học Rails. Sau khi học xong
chapter "Getting Start" là có thể bắt đầu quen Rails và làm
được
http://guides.rubyonrails.org/getting_started.html
Sách
Agile Web Development with Rails (có bản PDF trên
server)
Bài Tập #1
Xây dựng một hệ thống blog với các tính năng:
1. Cho user đăng nhập vào
2. Đăng một Post với Title và Description.
3. Cho anonymous user (bất kể người dùng nào) post
comment.
Mục đích của bài tập
1. Làm quen với việc install Rails và các plugins cần thiết
2. Làm quen với framework MVC
3. Làm quen với Migrations, cách truy vấn database, và xử lý
form
Chú ý: khi viết tránh để bị XSS hay SQL injection!
Các Plugins cần thiết của Rails
Đây là danh sách các plugins cần thiết mà một lập trình viên Rails cần
biết:
1. will_paginate: phân trang
http://github.com/mislav/will_paginate
2. restful-authenticate: hỗ trợ việc đăng ký user
http://github.com/technoweenie/restful-authentication
3. attachment_fu: hỗ trợ upload files
http://github.com/technoweenie/attachment_fu
4. paperclip: tương tự như attachment_fu, dùng hỗ trợ upload
http://github.com/thoughtbot/paperclip
5. rmagick: dùng để xử lý hình ảnh, kết hợp với attachment_fu
http://rubyforge.org/projects/rmagick
6. capistrano: thành phần cực kỳ quan trọng, để hỗ trợ deployment
http://www.capify.org
Bài Tập #2
Xây dựng một Online Gallery với các tính năng
1. Đăng ký user và Login dùng restful_authenticate
2. Cho user upload tạo category, dùng acts_as_category
3. Cho phép user upload hình vào một category
1. Hình upload được tự động resize lại dùng rMagick
2. Hình upload được tự động tạo thumbnail
4. Danh sách hình trong một category cần được phân trang dùng
will_paginate
1. nâng cao: paginate load trang dùng Ajax (will_paginate có hỗ trợ Ajax
Renderer)
5. Viết Unit Test cho các Models trong application.
Mục tiêu:
1. Làm quen với các Plugins của Rails
2. Làm quen với upload hình và xử lý hình được upload
3. Tận dụng các tính năng trong chữ "V" (view) của Rails để tránh lập lại
code: partials, form helpers, v.v.
. Giáo Trình Ruby on Rails
Tài Liệu Training
(C) 2010 Công Ty TNHH TM - DV
Tin Học Giải Pháp Nhanh
Ruby on Rails
- www.RubyOnRails.org
- Web. http://code.google.com/p/msysgit/
Chương Trình Training Ruby on Rails
2. Tài liệu
http://guides.rubyonrails.org/
Đây là giáo trình chuẩn để học Rails. Sau khi học xong
chapter "Getting