2017-03-24 5 views
0

Ich habe versucht, ein Popup-Fenster mit Rails link_to zu öffnen. Aber leider stoße ich auf einige Probleme. Wenn ich auf die neue Seite gehe, wird kein Popup-Fenster angezeigt.Popup-Fenster mit Schienen öffnen link_to

Ich benutzte Schienen 2.3.2

show.html.erb

<%= link_to "new payment", new_project_voucher_voucher_payment_path(@project, @voucher), "data-toggle" => "modal", "data-target" => "#new_voucher_payment" %> 

new.html.erb

<div id ="new_voucher_payment" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <h4 class="modal-title">Confirmation</h4> 
     <p>hello!!!!!!!!!!!!!!!!!</p> 

     </div> 
    </div> 
    </div> 
</div> 

Wie kann ich das Popup erscheinen zu lassen?

+0

versuchen setzen '#' als Link anstelle von 'new_project_voucher_voucher_payment_path'. Sie verlinken auf eine neue Seite statt auf ein Modal. – nayiaw

+0

danke.aber das funktioniert nicht. – thanu

+0

Nur für den Fall, haben Sie überprüft, dass Bootstrap JavaScript in Ihre Seite geladen ist? Versucht in einer [Geige] (https://jsfiddle.net/qvxLcvvy/) funktioniert es für mich. – nayiaw

Antwort

0

Wenn Sie einen modal mit Gutschein Zahlungen neuen Controller besser Ansatz Popup wollen, ist neu zu reagieren, wie js

app/views/project_vouchers/show.html.erb

<%= link_to "new payment", new_project_voucher_voucher_payment_path(@project, @voucher) remote: true do %> 
.... 
<div class="modal fade" id="new_voucher_payment" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 

app/views/project_vouchers/voucher_payments.js.erb

$("#new_voucher_payment").html("<%=j render 'voucher_payment', object: @voucher_payments %>"); 
$('#new_voucher_payment').modal('show'); 

app/views/project_vouchers/_voucher_payment_form.html.erb

<div class="modal-dialog"> 
    <div class="modal-content"> 
    <div class="modal-header"> 
     <h4 class="modal-title">Confirmation</h4> 
     <p>hello!!!!!!!!!!!!!!!!!</p> 
     # your code comes here 
    </div> 
    </div> 
</div> 

app/controllers/voucher_payments_controller.rb

class VoucherPaymentsController < ApplicationController 
    .... 
    def new 
    .... 
    respond_to do |format| 
     format.html { 
     # write the code for html response 
     } 
     format.js { 
     @voucher_payments 
     } 
    end 
    end 
    .... 
end