Thoughts, information and reflections about technology

Creating pop ups in rails

Rails pop  ups
there are several steps that will allow you to create a pop up in rails
The following will create a button that will call the popup. Put this in your view.


<%= link_to( .html_safe,
            “/stores/send_notifications/1”, # TODO hardwired
            ‘data-popup’ => true,
            :controller => ‘stores’,
            :action => ‘send_notifications’,
            remote: true,
            :class => “button_class”,
            #   :data_position_to => “window”,
            :onclick=>“,’add raw procurement item’, ‘height=400, width=500, left=400, top=100’ );
                                        return false;”
   ) %><br>


The Onclick allows you to specify both the size of the window and the offset. The offset can be a little trick on systems with more than one monitor. Test it.
Create a file for the popup. In this case, we are simply pulling in a partial. Also, note the popup styles.


<%= render partial: /shared/popup_styles%>
<%= render partial:‘notifications’ %>


The popup styles are stylesheet links and includes. In this case, we made a copy from what was in layouts/application and put that into a shared partial. If we didn’t do this, we would be missing some of the layout and formatting that was in our application.html.rb file


We need to add a route.


get  ‘/stores/send_notifications/:id’ => ‘stores#send_notifications’
post ‘/stores/send_notifications/:id’ => ‘stores#send_notifications’


We also create a method in the appropriate controller. The alternate layout is simply a <%= Yield %>. That removes all the rails navigation, headers and footers from the popup


def send_notifications
 respond_to do |format|
   format.html { render :layout => ‘alternate’}
   format.js {}

Similar Posts:

No tags for this post.

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact me
Recent Comments