Есть ли способ выполнить встроенный ruby ​​в файле javascript в моем каталоге / public / javascripts? - PullRequest
1 голос
/ 28 апреля 2010

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

Я хочу поместить это в отдельный файл в моем каталоге / public / javascripts, но большая часть javascript генерируется встроенным ruby. Этот встроенный рубин игнорируется и передается в браузер, если я просто поместил код здесь.

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

Ответы [ 2 ]

2 голосов
/ 28 апреля 2010

Вы можете создавать динамические шаблоны erb для javascript, но они не попадают в каталог public / javascripts.

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

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

1 голос
/ 28 апреля 2010

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

...