Tôi đang sử dụng Rails 3.2.9. Khi tôi thêm mã CoffeeScript vào một tệp .js.coffee
trong thư mục /app/assets/javascripts
, tôi nhận được JavaScript kết quả trong tất cả các trang web của mình. Vấn đề là tất cả JavaScript được gói trong:Đặt các lớp và phương thức CoffeeScript/JavaScript có sẵn cho phần còn lại của ứng dụng Rails
(function() {
// my code
}).call(this);
Vì vậy, mọi phương pháp tôi xác định không hiển thị trong bất kỳ mã CoffeeScript nào khác mà tôi viết trong các tệp khác. Cách thích hợp để viết một tập các lớp và các phương thức CoffeeScript có thể sử dụng lại với Rails là gì?
Vị trí thích hợp để thiết lập không gian tên? application.js? chế độ xem bố cục? –
@at .: bất kỳ nơi nào bị trúng lần đầu sẽ làm. Tôi không chắc liệu nó có tồn tại trong một tệp kê khai 'application.js' nhưng tôi đoán nó sẽ tồn tại. Bạn thậm chí có thể ném nó vào bố cục của bạn trước phần còn lại của các thẻ script của bạn. –
Tôi đã tạo một tệp có '_' ở đầu, như' _my_stuff.js.coffee'. Bằng cách này, nó được nạp trước mọi thứ khác và tôi có thể đặt 'window.app = {}' trước mã khác phụ thuộc vào nó. –