ERBファイルをHAMLに置き換えました。これはうまく機能します。ただし、javascriptとerbの複雑な混合コードがあり、hamlに変換すると失敗します。hamlをバイパスする「:plain」オプションについては知っていますが、以下のコードでこれを行うと、erbコードはテキストとして出力されるだけで、解釈されません。何か解決策はありますか?
JSでERBのHAMLへの置き換えが失敗する
- 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 %>