Конвейер ресурсов Rails 3.1 и встраиваемые виджеты JavaScript: где должен жить js? - PullRequest
1 голос
/ 11 октября 2011

Я обновляю приложение rails 2.3.9, и у меня есть файл с именем widget.js, который находится на /public/javascripts/widget.js.

Пользователи могут встроить этот виджет JavaScript на свой сайт следующим образом:

<script src='http://example.com/javascripts/widget.js' type='text/javascript'></script>
<script>
  new Widget({user_id: 1234});
</script>

Насколько я понимаю, в Rails 3.1 все, что находится под assets/, дактилоскопируется при производстве, поэтому widget.js будет иметь имя файла, подобное widget-XXXYYYZZZ.js, и будет меняться каждый раз при изменении файла. Это означает, что невозможно предоставить пользователям этот встраиваемый URL для файла widget.js, так как он изменится.

Как это можно сделать на рельсах 3.1?

Ответы [ 2 ]

3 голосов
/ 11 октября 2011

Вы можете просто оставить свой скрипт в public/javascripts/widget.js и обслуживать его с /javascripts/widget.js.Конвейер активов является необязательным, вам не нужно использовать его для всего (или чего-либо в этом отношении).

0 голосов
/ 11 октября 2011

Вы можете отключить дактилоскопию, поместив

config.assets.digest = false  

в config / application.rb или в один из файлов config / environment / *.

...