2011-10-25 19 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 
      ))) %>" 
)