Tôi đã làm việc thông qua một bộ câu hỏi tương tự. Có một số công cụ tốt cho phép bạn tích hợp AngularJS trực tiếp vào đường dẫn tài sản đường ray của bạn, và chúng cho tôi nhìn tốt nếu bạn muốn chỉ một chút về Góc.
Tuy nhiên, nếu bạn muốn có một frontular end đầy đủ, hay còn gọi là một ứng dụng web đơn, tôi nghĩ cuối cùng bạn sẽ bị giới hạn bởi tính tương thích và một số công cụ. Tôi cảm thấy như đá quý Rails sẽ không hoàn toàn theo kịp với Angular, và vì vậy bạn sẽ được vào xung đột phiên bản. Tôi cũng đã thấy ngày càng nhiều công cụ cho Angular như là một độc lập, và tôi rất giống với mẫu dự án ng-boilerplate. Tôi cũng thích nhiều công cụ thử nghiệm như nghiệp chướng, và tôi đã không thực sự sắp xếp một cách để tích hợp nghiệp với đường ray.
Vì lý do đó, cuối cùng tôi đã quyết định rằng tôi sẽ giữ riêng hai điều này. Ban đầu, tôi đã làm điều đó thông qua việc tạo ra một ứng dụng đường ray và một ứng dụng góc riêng biệt (các thư mục riêng biệt). Tôi đã sử dụng ng-boilerplate làm khuôn khổ cho góc kết thúc. Tôi đã viết một tutorial on that. Điều này cuối cùng có một chút bực bội, và tôi đã viết some more thoughts on it, khó chịu chính là tôi đã có hai kho git và nó đã gây phiền nhiễu để giữ chúng trong đồng bộ. Nó cũng là loại gây phiền nhiễu làm việc với một IDE trên hai thư mục. Tôi đã kết thúc chuyển sang đường ray và góc cạnh trong cùng một thư mục, và họ dường như chơi tốt đẹp, vì mỗi sử dụng các thư mục khác nhau trong dự án đó.
Trong cấu trúc hiện tại này, tôi đang sử dụng thiết lập grunt đi kèm với ng-boilerplate để rút gọn tất cả mã, đóng gói và chạy thử nghiệm đơn vị nghiệp. Tôi chưa đóng đinh thử nghiệm đầu cuối, nhưng nó nằm trong danh sách của tôi. Tôi đã tìm thấy đây là một môi trường làm việc tương đối hiệu quả. Cấu trúc được lựa chọn của tôi cho các trang, bộ điều khiển và các trường hợp kiểm tra nghiệp của tôi có một số mã lặp lại (tôi chọn không phải là yếu tố để duy trì khả năng đọc). Tôi đang lập kế hoạch để mở rộng các máy phát điện giàn giáo đường ray để tạo ra các khuôn khổ javascript cho tôi - vì vậy khi tôi tạo ra một người giàn giáo giàn giáo, nó cũng sẽ tạo ra một người angularjs giàn giáo cho tôi. Tôi sẽ cập nhật ở đây nếu và khi tôi làm việc đó.
EDIT: Tôi đã hoàn thành công việc giàn giáo là tốt, cho phép đường ray để tự động tạo ra các yếu tố angularJS khi bạn tạo ra các đường ray mô hình/điều khiển, vv Các bài viết trên blog là ở đây: http://technpol.wordpress.com/2013/09/24/rails-generator-to-generate-angular-views/
ah, có vẻ thú vị.Vì vậy, từ những gì tôi hiểu, nếu tôi thêm angularjs vào ứng dụng tài sản/javascript, tôi sẽ không cần phải biên dịch trước ứng dụng angularjs. Nếu tôi sử dụng công việc grunt, tôi sẽ phải biên dịch lại các angularjs trước khi triển khai; điều đó có đúng không? – Karan
oh, và một khi tôi xây dựng các ứng dụng bằng cách sử dụng grunt, nên điều này được đặt dưới railsapp/thư mục công cộng? – Karan