Конвертировать rjs в js.erb в rails 3.1 - PullRequest
0 голосов
/ 25 октября 2011

Как мне преобразовать файл rjs в js.erb

Просто переименование не работает в моем случае

Это мой старый код (хорошо работает с приложением rails 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 }

)

Теперь я получил синтаксическую ошибку в firebug, как

 SyntaxError: syntax error

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

Если я передаю код объекта как : object => @ content_data (без использования локальных данных)

я получаю еще одну ошибку

 syntax error
 :object => @content_data 

1 Ответ

1 голос
/ 27 октября 2011

Я нашел решение.

Нам нужно использовать 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 
           ))) %>"
)
...