我有一个rails 2.3.9应用程序,我正在迁移到rails 3。
几乎每个人,我都有渲染字符串的问题,特别是内联的JQUERY脚本。之前,有人告诉我,在rails 3中,它发生了变化,我现在无法重写所有脚本。我会这样做,它会被安排,但是现在,我想让它成功。
回答我的问题:
我有一个带有以下代码的控制器
respond_to do |format|
format.js { render :partial=>'update'}
format.html { head 406 }
end
我的_update.js.erb混合了JS和ERB:
<% if MyClass.count > 0 %>
$('.show_object:visible').hide();
<%else%>
if($('.show_object').css('display') == 'none'){
$('.show_object').blink({times: 7})
}
<%end%>
它适用于rails 2.3.9,但不适用于Rails 3.我的问题是:
答案 0 :(得分:2)
我确实在我的控制器中解决了这个问题:
format.js {
render :js=> { render_to_string(:partial=>'update').html_safe!}
}
它有效,但看起来不是一个好的解决方案。还有其他想法吗?