Skip to main content
Ask A Question
Notifications
You’re not receiving notifications from this thread.
Subscribe

Opening and closing a window to a new controller/view from a different controller/view

General • Asked by shakycode

I'm maintaining an app and need to add a pop-up window or modal that launches from the current view but loads a separate controller/view. So far I have a link_to setup to open the controller/view in a new window/tab. But I'd really like this in a modal or pop-up window that will open on link_to and then a button on the view to close the window.

Here's my code:

calls/index.html.erb

 <%= link_to 'Notes', call_notes_path(call.id), :target => "_blank", :class => 'btn btn-warning btn-small' %>

notes/index.html.erb

    Notes:</br>
    <% @notes.each do |n| %>
      <%= n.created_at.strftime("%m/%d/%y-%H:%M") %> <%= n.message %> posted by <%= n.user.username %></br>
    <% end %>

    <%= form_for @note, :url => url_for(:controller => 'notes', :action => 'create') do |f| %>
    <%= f.text_field :message %>
    <%= f.submit %>
    <% end %>

controllers/notes_controller.rb

class NotesController < ApplicationController

  def index
    @call = Call.find(params[:call_id])
    @note = @call.notes.new
    @notes = Call.find(params[:call_id]).notes.order('created_at asc')
  end

  def create
    @call = Call.find(params[:call_id])
    @note = @call.notes.new(params[:note])
    @note.user_id = current_user.id

      if @note.save
          @call.send_mail(:call_note)
       redirect_to call_notes_path(@call), :notice => "Note has been posted to #{@call.incident_number}"
     else
       flash.alert = "Note was not saved or no data entered."
       redirect_to call_notes_path(@call), :notice => "Note has was not posted"
     end
  end
end

I've done some research regarding modals, but all the solutions I've found want your view code to be included in the origin controller/view space. I want to be able to call the notes#index view from within a pop-up window or modal. Then add a link to close the window after notes are done being entered.


Login or Create An Account to join the conversation.

Subscribe to the newsletter

Join 30,005+ developers who get early access to new screencasts, articles, guides, updates, and more.

    By clicking this button, you agree to the GoRails Terms of Service and Privacy Policy.

    More of a social being? We're also on Twitter and YouTube.