다음과 같은 다양한 게시물을 살펴 보았습니다 . link_to 도우미를 사용하여 팝업을 여는 방법은 무엇입니까? 그러나 나는 그것을 작동시킬 수 없었다.
내 코드는 다음과 같습니다.
에 application.js
나는이 코드를 포함 :
$('a[data-popup]').live('click', function(e) {
window.open( $(this).attr('href'), "Popup", "height=600, width=600" );
e.preventDefault();
});
에서 assessment_controller.rb
나는이 방법을 포함 :
def open_second_app
respond_to do |format|
format.js
end
end
평가 색인 페이지 index.html.erb
에 링크를 포함했습니다.
<div>
<%= button_to 'New', new_assessment_path, method: :get %>
<%= button_to 'Home', root_path, method: :get %>
<%= link_to( 'Open Second Application', open_second_app_path, 'data-popup' => true ) %>
</div>
open_second_app.js.erb
이 한 줄을 포함 하는 파일 도 있습니다 .
window.open (<%= open_second_app_path %>, "Second Appllication Window", "width=600,height=600");
링크를 클릭하면 다음 오류가 발생합니다.
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>
기본 응용 프로그램은 localhost:3000
. 두 번째 응용 프로그램은 localhost:3001
.
내가 여기서 뭘 잘못하고 있니?
새 창에서 열려면 대상을 공백으로 설정해야합니다. 이 게시물보기 : Rails에서 "_blank"또는 "_new"를 사용하는 방법
댓글에서 작성한 질문을 설명하도록 업데이트 중입니다. 프로덕션에서 개발과 다른 URL을 사용하려면 다음을 수행하십시오.
<% if Rails.env.production? %>
<% second_app_url = 'http://whatever' %>
<% else %>
<% second_app_url = 'http://localhost:whatever' %>
<% end %>
보기보다 메소드에서 이것을 처리하는 것이 분명히 더 좋지만 예제 목적으로 조건을 보여줍니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다