Я перевожу приложение в Rails 3.2 на архитектуру одностраничного приложения, используя Backbone.js через gem backbone-on-rails.
Виды моего приложения на самом деле имеют некоторые формы, использующие form_for, как в следующем простом примере:
<%= form_for :filter do |f| %>
<div>
<%= f.label :document, t('tags.label.entity_document') %>
<%= f.text_field :document %>
</div>
<div>
<%= f.label :name, t('tags.label.name') %>
<%= f.text_field :name %>
</div>
... and so on
<% end %>
Я видел, что в конвейере активов Rails 3.1 есть функция компиляции файлов JST, и этокаскадировать несколько компиляторов вместе, чтобы скомпилировать шаблон, в моем случае я хочу скомпилировать этот файл формы ERB в ресурсах.
Итак, я переместил файл формы erb в папку активов с именем app / assets / templates / index.jst.ejs.erb и получаю следующее сообщение об ошибке компиляции:
compile error
/Users/rmi/Workspace/cbs-backbone/app/assets/templates/entities/index.jst.ejs.erb:2: syntax error, unexpected ')'
...h', :method => 'get'} do |f| ).to_s)
^
/Users/rmi/Workspace/cbs-backbone/app/assets/templates/entities/index.jst.ejs.erb:52: syntax error, unexpected kENSURE, expecting ')'
/Users/rmi/Workspace/cbs-backbone/app/assets/templates/entities/index.jst.ejs.erb:54: syntax error, unexpected kEND, expecting ')'
(in /Users/rmi/Workspace/cbs-backbone/app/assets/templates/entities/index.jst.ejs.erb)
та же самая ошибка происходит и с этим простым следующим кодом:
<%= [1,2].each do |element| %>
aaa
<% end %>
делает
compile error
/Users/rmi/Workspace/cbs-backbone/app/assets/templates/entities/sbrabous.jst.ejs.erb:1: syntax error, unexpected ')'
_erbout = ''; _erbout.concat(( [1,2].each do |element| ).to_s)
^
, поэтому, похоже, это происходит с каждым блоком ruby.
Я настроил приложение rails для использования {{}} в качестве тега открытия / закрытия EJS, как показано в предыдущем вопросе https://stackoverflow.com/a/9282744/1216027, поэтому <% должно быть обработкой ERB, и оно действительно работаетдля команд ruby, которые не нуждаются в блоке. </p>
Можно ли скомпилировать этот код ERB в ресурсы?Как?