Ruby on Rails-자바 스크립트를 사용하여 두 번째 애플리케이션을 팝업 창으로 열 수 없습니다.

LD

다음과 같은 다양한 게시물을 살펴 보았습니다 . 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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관