2010-10-11 71 views
4

我有一個Rails 2.3.9應用程序,我是遷移到軌道3在JS如何通過html_safe字符串渲染的諧音

由於幾乎所有人,我在與渲染字符串的問題,特別是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%> 

它可以在導軌2.3.9,但不是在Rails的3.我的問題是:

  • 我應該把我所有的jquery html_safe調用?
  • 有在控制器的方式來標記一個整體部分作爲html_safe?
+0

是您的部分輸出實際上得到逃到HTML? – Jacob 2010-10-11 21:06:50

+0

是的。它不是html_safe。我解決了它,正如我在我自己的答案中解釋的(見下文) – 2010-10-12 12:31:19

回答

2

我沒有解決它在我的控制器做:

format.js { 
render :js=> { render_to_string(:partial=>'update').html_safe!} 
} 

它的工作原理,但不要看起來像一個很好的解決方案。任何其他想法?