Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rendering partial in rails modal

I'm having an issue with rendering a partial in a modal window. I've tried it with both simple modal as well as prototype-window. I'm basically trying to render a partial within the modal popup. Here is what it looks like now:

<%=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();
")%>

I've tried multiple combinations of how to put the escape_javascript bit as well as trying this in simple modal.

Any help would be really appreciated.

like image 855
pash Avatar asked Feb 22 '12 20:02

pash


1 Answers

I'm thinking it would be easier render the partial on the page (hidden) and then capture it into the window using setContent when the button's pressed. This would mean you could put the more of the js outside the page, which would be a bit nicer too.

In the view:

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

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

In application.js (or other included js file):

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();
}
like image 91
Kevin Hughes Avatar answered Sep 28 '22 05:09

Kevin Hughes