Tôi có ứng dụng Rails 3.1 sử dụng codebrew/backbone-rails. Trong mẫu .jst.ejs, tôi muốn bao gồm hình ảnh, như vậy:Rails với backbone-rails: người giúp đỡ tài sản (image_path) trong các tệp EJS
<img src="<%= image_path("foo.png") %>"/>
Nhưng tất nhiên những người trợ giúp tài sản không có sẵn trong JavaScript.
Chaining ERB (.jst.ejs.erb) không hoạt động, vì cú pháp EJS mâu thuẫn với ERB.
Dưới đây là những gì tôi biết:
- Các người giúp đỡ tài sản không có sẵn trong trình duyệt, vì vậy tôi cần phải chạy chúng trên phía máy chủ.
- Tôi có thể giải quyết vấn đề bằng cách làm cho máy chủ kết xuất các đường dẫn nội dung khác nhau vào HTML (thông qua các thuộc tính dữ liệu hoặc
<script>
và JSON) và đọc chúng trở lại trong JS, nhưng điều này có vẻ khá kludgy.
Có cách nào bằng cách nào đó sử dụng trình trợ giúp nội dung trong tệp EJS không?
Bạn cũng có thể xác định lại EJS thẻ (nếu chúng thực sự là một cổng chức năng khuôn mẫu của Underscore như được đề xuất trong tài liệu đá quý ruby-ejs) với '_.templateSettings' [chức năng mẫu underscore.js] (http://documentcloud.github.com/underscore/#template), do đó cho phép bạn sử dụng '{{code}}' hoặc một số gắn thẻ khác bạn chọn – wulftone