2012-02-22 6 views
3

モーダルウィンドウで部分的なレンダリングに問題があります。私は単純なモーダルとプロトタイプの両方のウィンドウで試してみました。私は基本的にモーダルポップアップ内で部分的にレンダリングしようとしています。ここではそれが今のようになります。レンダリング中の部分的なレールモーダル

<%=link_to_function("Share This!", "win = new Window({title: \"Share This\", width:200, height:150, destroyOnClose: true, recenterAuto:false}); 
win.getContent().update("+escape_javascript(render :partial => 'groups/show')+"); 
win.showCenter(); 
")%> 

私はシンプルなモーダルでこれをしようとするだけでなく、escape_javascriptビットを置く方法の複数の組み合わせを試してみました。

本当にありがとうございます。

答えて

5

私は、ページ上に部分(非表示)をレンダリングし、ボタンを押したときにsetContentを使用してウィンドウにキャプチャする方が簡単だと考えています。これは、あなたがページの外にjsの多くを置くことができることを意味します、これは少し良いかもしれません。ビューで

:application.js(またはその他の付属JSファイル)で

<div id="groups_show" style="display:none"> 
    <%= render :partial => 'groups/show' %> 
</div> 

<%= link_to_function("Share This!", "show_group_popup()") %> 

function show_group_popup() { 
    $('groups_show').show(); 
    win = new Window({title: "Share This", width:200, height:150, destroyOnClose: true, recenterAuto:false}); 
    win.setContent('groups_show',true,true); 
    win.show(); 
} 
+0

ブリリアント! (そして多くのクリーナー)。ありがとう! – pash

関連する問題