2010-07-18 39 views
5

Tôi đã sử dụng các hướng dẫn trực tuyến để học ROR. Tôi đã sử dụng các bài học video www.lynda.com để có được một ý tưởng cơ bản về Rails, và để thực hành, tôi đã sử dụng Rails phiên bản 2.0.2, trong suốt thời gian đào tạo của mình. Nhưng bây giờ tôi trở thành một nhóm phát triển trong một công ty khởi nghiệp, nơi không có các lập trình viên cao cấp/giàu kinh nghiệm để hỗ trợ tôi và chúng tôi đang nghiên cứu sửa đổi mã nguồn gitorious bằng cách sử dụng Rails 2.3.8. Tôi đang phải đối mặt với rất nhiều khó khăn để hiểu mã nguồn và một số khác biệt lớn tôi có thể nhận thấy như sau:Làm thế nào để làm chủ Ruby on Rails

  1. Bao gồm XML và HTML để render quan điểm trong giàn giáo, trong Rails 2.3.8 (Tôi không hiểu điều này là gì, vì tôi chưa bao giờ bắt gặp điều này trong thời gian đào tạo của tôi bằng cách sử dụng Rails 2.0.2)

  2. Trong thư mục nguồn gitorious, ngoài Bộ điều khiển, Mô hình, Chế độ xem và Người trợ giúp có hai nhiều thư mục hơn, Bộ xử lý và Kim loại. Tôi không hiểu ý nghĩa của chúng là gì.

  3. Sử dụng rộng rãi tệp .yml. Những cái đó là gì? Trong đường ray 2.0.2, tất cả những gì tôi thấy là database.yml. Bây giờ, trong gitorious, tôi thấy gitorious.yml. Tất cả những thứ này được tùy chỉnh như thế nào? Tôi có nghĩa là, làm thế nào để ứng dụng đường ray (bộ điều khiển, mô hình, vv ..) giao tiếp với gitorious.yml?

Đối với tất cả các câu hỏi này, làm cách nào để di chuyển một hoặc hai lên, gọi bản thân mình là "lập trình Rails trung gian" từ "Rails novice programmer"? và làm thế nào để tôi cập nhật api mới, không dùng nữa, trong tất cả các lần chuyển tiếp Rails sắp tới?

Trả lời

3

Bao gồm XML và HTML để render quan điểm trong giàn giáo, trong Rails 2.3.8

Vâng, các công trình giàn giáo cách đã thay đổi - Tôi không thể nhớ chính xác khi nào nó thay đổi, nhưng tôi có thể chắc chắn tin rằng sự thay đổi xảy ra giữa 2.0 và 2.3.

Khi bạn tạo một giàn giáo theo cách cũ, nó sẽ chỉ bao gồm các lệnh 'giàn giáo' trong bộ điều khiển, sẽ hiển thị giao diện mặc định cho mỗi hành động cho đến khi bạn thay thế chúng bằng các mẫu HTML của riêng bạn.

Cách mới thực sự tạo mẫu HTML dưới dạng tệp: vì vậy, trong thư mục lượt xem, sẽ có thư mục chứa ERb (HTML có nhúng Ruby). Sau đó, bạn có thể truy cập và chỉnh sửa trực tiếp.

Nó cũng hiển thị XML - điều này được thực hiện theo mặc định, nhưng bạn có thể chọn những định dạng khác được tạo ra. Rails cho phép bạn tạo ra nhiều định dạng đầu ra cho mỗi hành động điều khiển - để bạn có thể dễ dàng tạo ra các dịch vụ web RESTful. Vì vậy, bạn rõ ràng sản xuất XML theo mặc định, nhưng bạn cũng có thể muốn tạo ra các định dạng máy khác: XML (bao gồm RSS/Atom), JSON (và JSON-P, vv), RDF, YAML. Tôi sử dụng điều này để tạo CSV và Excel để người dùng của trang web có thể nhận dữ liệu được xuất sang gói bảng tính của họ.

Trong thư mục nguồn gitorious, trong Ngoài kiểm soát, models, views và Helpers có thêm hai thư mục cụ thể, xử lý và kim loại. Tôi không hiểu ý nghĩa của chúng là .

bộ vi xử lý/được sử dụng bởi ActiveMessaging - nó chứa bộ xử lý ActiveMessaging - về cơ bản mã được gọi là một phần của giao tiếp với hàng đợi thư mà ActiveMessaging được kết nối tới.

kim loại/chứa mã phù hợp nhất có thể được mô tả như là 'trung gian' - về cơ bản, để triển khai một ứng dụng Rails bạn sử dụng một thư viện gọi là rack mà tóm tắt đi giao diện giữa máy chủ và các ứng dụng riêng của mình. Nó cho phép bạn sử dụng cùng một máy chủ web và cơ sở hạ tầng khác và chuyển đổi giữa các khung công tác Ruby khác nhau - vì vậy, nếu bạn đang sử dụng Rails hoặc Sinatra hoặc Merb, Rack cho phép tất cả chúng giao tiếp với cùng một máy chủ.

Hiện tại, Rack cho phép bạn viết mã 'Metal', là mã được chạy trực tiếp trên máy chủ mà không có khung làm việc. Lý do bạn viết mã kim loại là để thực hiện - khi mã kim loại đang chạy, nó đang chạy trực tiếp chứ không phải là với trọng lượng của khung Rails nhận được trong cách. Bằng cách này, bạn có thể có được hiệu suất tốt hơn. Tôi chưa bao giờ phải viết bất kỳ mã Kim loại nào, vì vậy tôi không thể giải thích được điều đó.

Sử dụng rộng rãi tệp .yml. Những gì là những gì cho? Trong đường ray 2.0.2, tất cả I đều là database.yml. Bây giờ, trong gitorious, tôi thấy gitorious.yml. Làm thế nào là tất cả những tùy chỉnh? Ý tôi là, cách ứng dụng đường ray (bộ điều khiển, kiểu máy, vv ..) liên lạc với gitorious.yml?

tệp .yml là các tệp ở định dạng YAML. Trong Rails, chúng chủ yếu được sử dụng để cấu hình. Cũng giống như các tệp XML được các ứng dụng Java sử dụng để cấu hình, các tệp .rc được sử dụng trong Unix cho cấu hình và tệp .ini (được?) Được sử dụng cho các ứng dụng khác nhau trên Windows để cấu hình, bạn có thể lưu trữ dữ liệu trong tệp YAML. ứng dụng sử dụng cho cấu hình. Do tính đơn giản của định dạng, rất nhiều ứng dụng Ruby và Rails sử dụng YAML cho các tệp cấu hình.

Ruby có một mô-đun YAML tích hợp để tải những thứ này bằng cách sử dụng các phương thức trong mô-đun YAML bao gồm YAML.load, YAML.load_file, YAML.load_documents vv Để xem cách chúng được nạp vào, tôi đề nghị điều dễ nhất là tìm chuỗi "YAML". trong dự án - hoặc, thực sự, tên của các tệp yml.

đối với tất cả những câu hỏi này với, làm thế nào để di chuyển một hoặc hai lên level, để gọi bản thân mình một "trung gian Rails lập trình" từ "Rails mới làm quen lập trình viên"? và làm cách nào để cập nhật api mới, không dùng nữa, trong tất cả chuyển tiếp Rails sắp tới?

Tôi cho rằng số tiền bảo thủ hợp lý phù hợp với bản cập nhật của Rails. Tôi vẫn đang sử dụng Rails 2.3.3 trên một trang web sản xuất, và đó là tốt. Tôi có lẽ nên nâng cấp lên 2.3.8, nhưng tôi có xu hướng không chạy với các cạnh chảy máu trên các dự án sản xuất.

Đối với cách tốt nhất để tìm hiểu, tôi khuyên bạn nên làm việc qua Railscasts - đây là những chương trình truyền hình ngắn tuyệt vời mô tả tất cả các loại kỹ thuật hữu ích và giúp bạn tìm hiểu rất nhiều về khung Rails. Khi bạn cần làm điều gì đó, rõ ràng là có các tài liệu API - điều đó không sao. Các Rails Guides là khá tốt và giá trị đọc.

Đối với sách, có Phát triển Web nhanh với Rails - đây là một hướng dẫn khá hay. Ngoài ra còn có The Rails Way, đây là một tài liệu tham khảo bàn lớn và theo kinh nghiệm của tôi, một trong những cách tốt nhất để tìm hiểu về một số minutiae. Bạn cũng có thể muốn kiểm tra câu hỏi StackOverflow What’s the best resource for learning Rails for a raw beginner? - bởi vì mặc dù bạn rõ ràng không phải là người mới bắt đầu thô, các tài nguyên được đề xuất được cập nhật và hữu ích cho việc chuyển từ người mới thành trung cấp trở lên. Chúc may mắn!

Các vấn đề liên quan