Bài viết được dịch từ trang web Tuts Plus

Trước đây tôi có kiến thức nền tảng lập trình trên PHP, nhưng giờ đây, tôi là một lập trình viên Rails toàn thời gian. Điều khó khăn nhất đối với hầu hết mọi người khi chuyển sang học một công nghệ khác là khi mới bắt đầu tìm hiểu. Một khi bạn đã trở nên thành thạo một ngôn ngữ lập trình hoặc framework, việc chuyển sang một công nghệ mới thì cảm giác như không cần thiết (và tốn thời gian) và là một thách thức.

Tuy nhiên, việc học Ruby on Rails thực sự rất dễ dàng! Nó là một framework mạnh mẽ đến khó tin, và có một cộng đồng lớn phía sau. Vì vậy câu hỏi đặt ra là: đâu là cách tốt nhất để học Rails? 

Bài viết chi tiết này cung cấp một bản kế hoạch sẽ giúp bạn học lập trình Rails tốn ít thời gian nhất! Bạn hãy làm theo trình tự các bước dưới đây nhé!

Học Ruby On Rails được học thêm cả HTML5, CSS3, JavaScript. Sẵn sàng việc làm cho học viên hoàn thành dự án tốt nghiệp

Bước 1 - Thực hành các bài tập tại trang web "Try Ruby"

Bạn có thể nghĩ rằng việc học Ruby là bước quan trọng nhất, và đây có thể là phần khiến mọi người dừng học và chỉ gắn bó mãi với framework hiện tại của họ. Đừng làm như vậy! Đừng sợ hãi khi học ngôn ngữ này (hoặc bất cứ ngôn ngữ lập trình nào khác). Ruby là một ngôn ngữ rất thú vị, đẹp đẽ và dễ học. Thêm nữa, bạn không cần phải thực sự nắm vững 100% ngôn ngữ đó thì mới có khả năng học framework Rails. Bạn chỉ cần kiến thức cơ bản để bắt đầu.

Thực hành các bài tập tại trang web Try Ruby
Thực hành các bài tập tại trang web Try Ruby

Công cụ mà tôi đề xuất bạn dùng để nghiên cứu sâu vào cú pháp của Ruby đó là trang web Try Ruby. Nó cung cấp cho bạn một giao diện web tương tác để chơi với ngôn ngữ này. Nếu bạn gõ chữ help, bạn sẽ được chào mừng bằng một bài thực hành tương tác kéo dài 15 phút, cung cấp cho bạn những kiến thức rất cơ bản về ngôn ngữ lập trình này. Khi gõ help 2 thì trang web sẽ đưa bạn đến chương 2 của bài thực hành.

Một khi bạn đã thực hành qua những bài tập này một vài lần, bạn sẽ có một kiến thức nền khá vững. Bản thân tôi, trước đây tôi chỉ học Ruby qua 2 bài thực hành này. Sau đó tôi học bằng cách tạo ra các trang web bằng Rails, khi gặp khúc mắc thì tra Google, và chơi với IRB.

Bước 2 - Cài đặt Ruby và Ruby on Rails

Chạy lệnh gem install rails để cài đặt Rails.

Nếu bạn muốn học Rails, thì dĩ nhiên là bạn sẽ cần phải cài nó trên máy của bạn. Có nhiều cách để làm điều này, phụ thuộc vào hệ điều hành của bạn. Nếu bạn đang sử dụng máy Mac hoặc hệ điều hành Linux, thì tôi đề xuất bạn nên sử dụng RVM. Nó là một công cụ tuyệt vời để cài đặt Ruby. Bạn tham khảo thêm bài viết này để nắm các hướng dẫn cài đặt. Nếu bạn đang sử dụng Windows, thì tham khảo RubyInstaller for Windows.

Kế tiếp, bạn cần cài đặt Rails. Để làm điều này thì bạn nên có RubyGems đã được cài trên máy của bạn. Nếu bạn sử dụng RVM để cài Ruby, thì xin chúc mừng, vì bạn cũng đã có nó rồi! Nếu bạn chạy hệ điều hành Windows thì tải ở đây. Để cài đặt Rails, bạn gõ lệnh gem install rails, và, tèn ten, bạn đã hoàn tất công việc cài đặt!

Bổ sung

  • rbenv là một cách khác để cài đặt Ruby, phương pháp này cũng ngày càng trở nên phổ biến. Nếu có thời gian thì bạn hãy tìm hiểu thêm về nó nhé!

Bước 3 - Bắt đầu làm quen với Rails qua video của Jeffrey

Bắt đầu làm quen với Rails qua video của Jeffrey

Trong video có độ dài 40 phút này, tác giả Jeffrey Way, là một biên tập viên có uy tín tại Nettuts+ sẽ dạy bạn tất cả những kiến thức cơ bản mà bạn cần biết để bắt đầu phát triển với Rails.

Khi xem video đó, bạn sẽ thu được rất nhiều thông tin về các chủ đề như:

  • Models và generators
  • Test-driven development
  • ActiveRecord
  • Rspec và Capybara
  • Partials
  • …và nhiều thứ khác nữa

Bước 4 - Tham gia một khóa học Rails For Zombies 

Tham gia một khóa học Rails For Zombies

Tôi luôn luôn nghĩ rằng việc học qua ví dụ là cách tốt nhất (và duy nhất) để học một ngôn ngữ lập trình và framework. Một khóa học miễn phí và tuyệt vời mà bạn phải tham gia đó là Rails For Zombies, được cung cấp từ những gã tại EnvyLabs. Nó là một khóa học tương tác, điều này có nghĩa là sau khi xem xong mỗi video thì bạn sẽ phải thực hành qua một số bài tập.

Bước 5 - Đọc một cuốn sách

Mua cuốn sách Agile Web Development with Rails.
Mua cuốn sách Agile Web Development with Rails.

Cho đến thời điểm này, mọi công cụ mà tôi giới thiệu đến bạn đều là miễn phí và có tính tương tác. Bây giờ, bạn cần mua cuốn sách dạy về Rails là: Agile Web Development with Rails. Nó dạy bạn về Rails bằng cách xây dựng một trang web từ đầu đến cuối. Cuốn sách này hướng dẫn bạn đi qua các bước rất cơ bản, tạo các controller, model, scaffolding và thậm chí cả unit và functional testing, thêm cả một số AJAX! Hãy chắc rằng bạn mua phiên bản mới nhất của cuốn sách đó.

Bước 6 - Xây dựng một trang blog đơn giản

Tôi biết việc này có vẻ khá tẻ nhạt (đối với tôi), nhưng nó là một ví dụ tuyệt vời và thường được sử dụng ở khắp nơi vì một lý do là: nó khá đơn giản, bạn có thể hoàn tất dạng tutorial này trong khoảng một giờ đồng hồ, và bạn học được những kiến thức cơ bản rất nhanh. Bây giờ, nếu bạn đọc cuốn sách ở bước 5 ở trên, thì bạn đã có đủ kiến thức để xây dựng một cái gì đó giống như thế này. Tôi khuyến khích bạn cố gắng thử tự xây dựng bằng chính khả năng của mình, từ trí nhớ, mà không tìm kiếm bất kỳ bài hướng dẫn nào trên mạng về chủ đề này. Bạn có thể kiểm tra một số phương thức, xem cái cách validate các field ra sao, v.v..., nhưng cái mục đích ở đây là bạn cần phải đưa kiến thức của bạn vào thực hành.

Lập trình blog với Ruby on Rails

Xây dựng một blog đơn giản có hỗ trợ phần comment. Bạn không cần phải thực thi một hệ thống xác thực hoành tráng; chỉ cần làm một cái gì đó đơn giản để bắt đầu.

Nếu bạn gặp khó khăn, thì tham khảo thêm...

Bước 7 - Bổ sung thêm một vài tính năng phức tạp cho blog của bạn

Tuyệt vời! Đến đây thì bạn đã xây dựng cho mình được một blog cơ bản. Blog đó chắc chắn thiếu hụt một số chức năng cơ bản mà thường có ở một nền tảng blogging chuẩn, nhưng đây chỉ là mới bắt đầu. Hãy bổ sung thêm nhiều chức năng cho nó.

Lập trình form đăng nhập với Ruby on Rails

Bổ sung thêm một hệ thống xác thực cơ bản tới blog của bạn. Điều này có vẻ như là một cái gì đó khá phức tạp, nhưng tôi sẽ không ép bạn phải làm công việc phức tạp này từ đầu. Có một số tools/gems có sẵn sẽ khiến cho công việc của bạn đơn giản đi rất nhiều, nhưng chúng quá nâng cao so với mức kỹ năng hiện tại của bạn. Thêm nữa, chúng ta cần phải tiếp tục học làm việc trên Rails trước khi dựa vào các công cụ của các hãng thứ ba.

Hãy xem video này của tác giả Ryan Bates, trong đó anh ta đã hướng dẫn toàn bộ quy trình để tạo ra một hệ thống xác thực cơ bản từ đầu đến cuối. Hãy áp dụng hệ thống này vào blog của bạn và chắc chắn rằng chỉ bạn là có khả năng tạo và chỉnh sửa các bài viết, và xóa các comment (nhưng đảm bảo rằng ai cũng có thể tạo ra comment!)

Bổ sung

  • Form validation cũng quan trọng, và không khó lắm để thực thi. Bạn tham khảo video này để công việc trở nên dễ dàng hơn.
  • Tham khảo bài viết này để có thêm thông tin về các model association trong Rails. Bạn có thể sử dụng các kỹ thuật đã được chỉ ra để bổ sung thêm phần tagging tới blog của bạn.

Bước 8 - Tạo ra một cái gì đó cho chính mình

Đây là lúc mà bạn cần phải sáng tạo hơn. Đối với tôi, việc học một ngôn ngữ lập trình hoặc một framework bằng cách làm theo các tutorial thì rất tốt nhưng chưa đủ. Thứ đầu tiên mà tôi đã tạo sau khi tôi hoàn thành ví dụ blog là một ứng dụng quản lý đơn hàng. Tôi tìm thấy trên mạng một template có thiết kế đơn giản và bắt đầu làm việc với nó. Nó cho phép tôi xây dựng một cái gì đó hữu ích và đáp ứng nhu cầu của mình, trong khi việc này mang lại niềm vui thực sự!

Nếu bạn muốn làm sản phẩm giống như tôi đã làm, thì hãy tải về web app template Twitter Bootstrap (nếu bạn muốn), với template này bạn có thể dành nhiều thời gian cho công việc lập trình hơn là thiết kế, và xây dựng cho mình một ứng dụng quản lý đơn hàng. Thử thêm vào tính năng xác thực người dùng, khách hàng, đơn hàng (cho phép bạn áp dụng giảm giá và tính thuế lên đơn hàng), và đơn hàng chi tiết (bao gồm một phần mô tả, số lượng và giá sản phẩm). Việc làm ứng dụng này sẽ dạy bạn rất nhiều phần quan trọng của một ứng dụng Rails, như là các form lồng nhau.

Các tài nguyên để bạn bắt đầu

  • Nested Model Form phần mộthai: Bạn sẽ cần nó trong lúc tạo ra một đơn hàng, và chi tiết các sản phẩm trong đơn hàng sẽ được "lồng" vào trong một form đơn hàng. Hãy xem qua các video để học thêm về phần này.
  • Simple Invoicing App: Đây là ứng dụng quản lý đơn hàng mà tôi đã tạo ra khi học Rails. Nó được xây dựng với Rails 3.0.4, bạn có thể tham khảo về các model, association và các file JavaScript.

Bước 9 - Luôn cập nhật thông tin …

Việc học lập trình là một quá trình chẳng có hồi kết. Đó là lý do tại sao bạn nên đăng ký nhận tin từ rất nhiều blog và tài khoản Twitter về chủ đề này. Đây là một danh sách của những người có tầm ảnh hưởng về Rails để bạn follow trên Twitter:

  • @dhh: Cha đẻ của framework Ruby on Rails. Những post của ông thường có thông tin sâu sắc về những bản release mới và rất nhiều thủ thuật.
  • @rbates: Biên tập viên của Railscasts, đăng các thủ thuật và bí quyết rất thường xuyên.
  • @rails: Kênh đưa tin chính thức của Ruby on Rails trên Twitter. Bạn hãy follow họ nếu bạn muốn nhận được những thông tin quan trọng về ngày release, và việc phát triển framework này.
  • @rails_apps: Họ đăng những ứng dụng mới sử dụng Rails rất thường xuyên và rất hữu ích.

Và đây là một số trang web mà bạn nên theo dõi thường xuyên:

  • Railscasts: Ở đây có nhiều video rất tuyệt vời về Ruby on Rails, các bài thực hành và thủ thuật tốt nhất, các gem mới, v.v...
  • Asciicasts: Nếu bạn không thích xem các video, thì trang web này cung cấp nội dung bắt chước các tutorial trên Railscasts nhưng là bằng chữ. Nó không được cập nhật lắm, nhưng là một tài liệu tuyệt vời.
  • Nettuts+: Trong khi chúng tôi không tập trung 100% viết về Ruby on Rails, nhưng sẽ ngày càng có nhiều nội dung về framework này!
  • The Rails Way: Đây là một blog chứa rất nhiều bài viết và tutorial rất hữu ích.
  • Riding Rails: Trang blog chính thức của Ruby on Rails. Họ không đăng nhiều thủ thuật và tutorial, nhưng họ thông báo về việc release các phiên bản chính thức, vì vậy đó là một nguồn tài liệu rất tốt để đọc thường xuyên.
  • Planet Ruby on Rails: Một trang tổng hợp tin từ các blog về Ruby on Rails. Nó không giống như một trang blog trong số mà tôi đã liệt kê ở trên, nhưng vẫn là một nguồn tài liệu tốt để tham khảo.

Kết luận

Kế hoạch học tập này sẽ giúp bạn trở thành một lập trình viên Rails mà không tốn quá nhiều thời gian. Và bạn sẽ nhận thấy rằng, Rails là một framework tuyệt vời, nó tiếp tục trở nên tốt hơn sau mỗi năm. Tôi đã học Rails bằng cách sử dụng những công cụ mà tôi đã đề xuất với bạn ở trên; bạn cũng nên làm như vậy!

Nếu bạn có bất kỳ câu hỏi nào, thì đừng ngại để lại trong phần bình luận ở phía dưới. Và nếu bạn cảm thấy sẵn lòng chia sẻ kinh nghiệm của mình! Thì hãy nói cho chúng tôi biết về cách bạn đã học Rails như thế nào, những công cụ nào mà bạn đã sử dụng và ngày nay bạn đang sử dụng nó ra sao?