2011-10-25 46 views
0

如何做我轉換一個RJS文件js.erb轉換RJS到js.erb在軌3.1

只需重命名在我的情況下不能正常工作

這是我的舊代碼(有運作良好導軌2應用程序)

page.replace_html(
"overlay" , 
    :partial => @path_resolver.resolve_template(
       :tmpl_name => 'cmn/popup/shared/show_popup', 
       :partial => true 
      ), 
:object => @content_data 

我改變的代碼

page.replace_html(
"overlay" , 
("<%= escape_javascript(render(
:partial => @path_resolver.resolve_template(
       :tmpl_name => 'cmn/popup/shared/show_popup', 
       :partial => true 
      ))) %>"), 

:locals => {:object => @content_data } 

現在,我得到的螢火的語法錯誤等

SyntaxError: syntax error 

:locals => {:object => @content_data } 

如果我通過目標代碼爲:對象=> @content_data(不使用當地人)

即時得到另一個錯誤

syntax error 
:object => @content_data 

回答

1

我找到了解決方案。

我們需要用Element.update代替page.replace_html

新的代碼如下所示:

Element.update (
    "overlay" , 
    "<%= escape_javascript(render(
      :partial => @path_resolver.resolve_template(
      :tmpl_name => '../shared/show_popup', 
      :partial => true, 

      :object => @content_data 
      ))) %>" 
)