Есть ли способ выполнить встроенный Ruby в файле JavaScript в My / Public / Javascripts?

StackOverflow https://stackoverflow.com/questions/2726421

Вопрос

У меня есть форма с постоянно растущим количеством связанного JavaScript. В настоящее время этот JavaScript живет в моей форме вида, что в порядке, но становится все больше и начинает перегружать форму, затрудняя работу по форме.

Я хочу поставить это в отдельный файл в моем каталоге / Public / Javascripts, но много JavaScript генерируется встроенным Ruby. Этот встроенный Ruby игнорируется и передается в браузер, если я просто поставлю код здесь.

Какой лучший способ (если есть) иметь этот встроенный рубин, и JavaScript генерируется так же, как будто это было на мой взгляд?

Это было полезно?

Решение

Вы можете создавать динамические шаблоны ERB для JavaScript, но они не ходят в каталог публичных / Javascripts.

Я предлагаю вам переместить JavaScript в частичную. Создайте файл с именем _form_js.html.erb и поместите содержимое бирки сценария там. Тогда <% = Render: Partial => 'form_js'%> с вашего представления.

В качестве стороны, вполне вероятно, что вам лучше использовать полностью статический JavaScript, который идентифицирует элементы формы по их классу / идентификатору и реагирует на это, а не использовать пользовательский JavaScript для каждого элемента.

Другие советы

Вы можете создавать шаблоны RJS и группируйте свой код JavaScript в файлах RJS. Ссылаться: http://www.codyfauser.com/2005/11/20/rails-rjs-templates.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top