Я заменил свои файлы ERB на HAML, которые отлично работают. Однако у меня есть сложный смешанный код javascript и erb, который не работает при преобразовании в haml. Я знаю об опции ":plain" для обхода haml, но когда я делаю это с кодом ниже, код erb просто печатается как текст, но не интерпретируется. У вас есть какое-нибудь решение?
Замена ERB на HAML не работает в JS
- if (@active == "tasks")
:plain
$('#content_output').html("<div class='content_title task'></div><h3><%= I18n.t :task_all %></h3><%= escape_javascript(render('tasks/all_tasks', :tasks => @contact_tasks, :layout => 'normal')) %></div>");
$('#content_input').html("<div class='content_title task'></div><h3><%= I18n.t :task_new_title %></h3><%= escape_javascript(render('tasks/new_task')) %></div>");
$('a#tasks_tab').addClass('active');
Это исходный код js.erb:
<% if (@active == "tasks") %>
$('#content_output').html("<div class='content_title task'></div><h3><%= I18n.t :task_all %></h3><%= escape_javascript(render('tasks/all_tasks', :tasks => @contact_tasks, :layout => 'normal')) %></div>");
$('#content_input').html("<div class='content_title task'></div><h3><%= I18n.t :task_new_title %></h3><%= escape_javascript(render('tasks/new_task')) %></div>");
$('a#tasks_tab').addClass('active');
<% end %>