2016-03-19 17 views
0

Bu How to use the link_to helper to open a popup? gibi farklı yazılara bir göz attım ama çalışma fırsatı bulamadım. değerlendirmeler endeksi sayfa index.html.erb IRuby On Rails - Java komut dosyasını kullanarak bir popup penceresi olarak ikinci bir uygulamayı açamıyor

def open_second_app 
    respond_to do |format| 
     format.js 
    end 
    end 

: Ben bu yöntemi dahil assessment_controller.rb yılında

$('a[data-popup]').live('click', function(e) { 
    window.open($(this).attr('href'), "Popup", "height=600, width=600"); 
    e.preventDefault(); 
}); 

: application.js yılında

Bu kodu dahil: Burada

benim kodudur bağlantı dahil:

Ana uygulama localhost:3000 olarak çalıştığı

Showing /Users/liviu-mac/ror/levi-test-01/app/views/assessments/index.html.erb where line #34 raised: 
undefined local variable or method `open_second_app_path' for #<#<Class:0x007fe3c6fa4040>:0x007fe3c40ae4c0> 

:

window.open (<%= open_second_app_path %>, "Second Appllication Window", "width=600,height=600"); 

Ben bağlantısını tıklayın

, bu hatayı alıyorum:

Ben de bu tek satırı içeren bir open_second_app.js.erb dosya var. İkinci uygulama localhost:3001 olarak çalışıyor.

Burada ne yapıyorum?

cevap

1

Yeni bir pencerede açmak için hedefi boş olarak ayarlamanız gerekir. Bu gönderiye bakın: How to use "_blank" or "_new" in Rails

Bir yorumda yaptığınız soruyu dikkate almak için güncelleme. gelişiminde daha üretiminde farklı bir url kullanmak için:

<% if Rails.env.production? %> 
    <% second_app_url = 'http://whatever' %> 
<% else %> 
    <% second_app_url = 'http://localhost:whatever' %> 
<% end %> 
Açıkçası

daha iyi görünümlerinde daha yönteminde bu işi ama sadece size örnek amaçlı durumunu gösteren.

+0

Dizin sayfasındaki satırı (belirtildiği gibi) şu şekilde değiştirdim: '<% = link_to ('Açık İkinci Uygulama', 'http://0.0.0.0:3001', 'data-popup' => true, target: '_blank')%> ' ve çalışıyor. Ben 's raylar s' ve ikinci uygulama wth komutu 's -p 3001 -b 0.0.0.0' komutu ile ana uygulamayı başlatıyorum. 'Heroku' ile konuşlandırırken değiştirmem gereken bir şey var mı? –

+0

Sadece üretim url'si. – toddmetheny

+0

Ancak 0.0.0.0 değerini my-second-app.herokuapp.com ile değiştirirseniz, ilk uygulama için geliştirme, geliştirme örneğinin yerine aynı heroku dağıtılmış ikinci uygulamayı kullanır. –