2012-11-23 35 views
0

我會盡量保持我的問題簡潔。所以我試圖通過jquery的.html函數在jquery模式窗口中進行rails「render」調用。但它不能正常工作。相關控制器稱爲用戶,其操作稱爲新操作。因此,我試圖做的相關jquery調用是.html('<%= render('users/new')%>')模式窗口。 這是我的代碼。在jQuery模態窗口中渲染rails動作的正確方法是什麼?

 <script> 
     $(document).ready(function(){ 
      var $dialog = $('<section></section>') 
            .html('<%=render('users/new') %>') 
       .dialog({ 
        autoOpen: false, 
        modal:true 
       }); 

      $('#target').click(function() { 
       $dialog.dialog('open'); 
       return false; 
      }); 
     }); 
     </script> 

當我取代了線的.html(」 <%=渲染( '用戶/新')%> ')以.html調用(' <%=的link_to( 「TEST」,{:控制器= >'users',:action =>'new'})%>')窗口和鏈接正常工作。所以我知道這個問題具體涉及渲染調用。

我能做些什麼來解決這個問題,並允許渲染在jQuery模式窗口中工作?希望我在我的描述中清楚。非常感謝你的幫助!

回答

1

始終使用escape_javascript而在JS中使用render。像下面的東西將工作:

<%= escape_javascript(render "users/new") %> 
相關問題