복붙노트

[RUBY-ON-RAILS] LINK_TO : 확인 표시를 두 번 팝업

RUBY-ON-RAILS

LINK_TO : 확인 표시를 두 번 팝업

레일이 태그 (3)

<%= link_to 'Destroy', item, :method => :delete,:confirm=>'Are you sure?' %>

이 HTML을 생성

<a href="/news/3" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a>

항목은 문제가 팝업가 두 번 표시이다, 삭제됩니다.

이 문제의 원인은 무엇입니까?

해결법

  1. ==============================

    1.그것은 자바 스크립트가 rails.js에 두 번 부착되고 확인 핸들러처럼 들린다.

    그것은 자바 스크립트가 rails.js에 두 번 부착되고 확인 핸들러처럼 들린다.

    당신은 javascript_include_tag 도우미의 중복을 통해 rails.js의 두 복사본을 포함하여 실수가 될 수 있을까?

  2. ==============================

    2.나는이 같은 문제가 발생하고 그것으로보고 한 시간의 좋은 부분을 보냈다. 내 상황에서 해결책을 발견하고, 나는 그것이 도움이 경우 공유 거라 생각 ...

    나는이 같은 문제가 발생하고 그것으로보고 한 시간의 좋은 부분을 보냈다. 내 상황에서 해결책을 발견하고, 나는 그것이 도움이 경우 공유 거라 생각 ...

    내 문제는 내가 가진 것이 었습니다

    config.assets.debug = true 
    

    의 설정 / 환경 / development.rb

    해당 라인 변경

    config.assets.debug = false
    

    나에 대한 확인 중복을 해결했습니다. 나는 자산 파이프 라인이 레일 가이드에서 관련 정보를 찾아 냈다. 희망이 도움이!

  3. ==============================

    3.내 HAML 레이아웃 파일의 맨 아래에있는 javascript_include_tag을 포함하는 데 사용했습니다.

    내 HAML 레이아웃 파일의 맨 아래에있는 javascript_include_tag을 포함하는 데 사용했습니다.

    Rails4 및 Turbolinks로 그것은 그 일 :

    I는 에 밑에서 javascript_include_tag 이동시켜 문제점을 해결

  4. ==============================

    4.나는 레일 4를 사용하고 있는데 답변 중 아무도 나를 위해 그러나이 일 다음 일하지 ... 나는 라인을 변경 :

    나는 레일 4를 사용하고 있는데 답변 중 아무도 나를 위해 그러나이 일 다음 일하지 ... 나는 라인을 변경 :

    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    

    <%= javascript_include_tag 'application', 'data-turbolinks-eval' => false %>.
    

    https://github.com/rails/turbolinks/issues/244

  5. ==============================

    5.우수함, 여기에 응답

    우수함, 여기에 응답

    하지만 당신은 모든 것을했고, 당신이 개발 모드에서 실행중인 경우 여전히 컴파일 자산로드 공공 / 자산을 가지고 있는지 확인, 그 이중 팝업을 얻고, 경우.

    공공 / 자산 / *로 해결할 수있는 문제를 삭제할 수 있습니다.

  6. ==============================

    6.이 레일에서 버그가 수 있도록 보인다. 디버그 모드를 사용할 때 분명히 application.js의 지침은 개별 파일로 확장되지 않습니다, 그러나 또한 application.js에 포함되어 있습니다. 나는 이것에 대한 레일 코드를 보았다하지만 기본 자바 스크립트 파일 인 application.js로 인한 가정하지 않았습니다. 당신이 뭔가에이 파일의 이름을 변경하는 경우 디버그 모드에서 올바르게 지시어에 의해 지정된 파일과 default.js이 포함됩니다 말의 default.js을 할 것입니다 해당 파일 만 출력 자바 스크립트. 따라서 중복 된 코드를 생성 할 수 없습니다.

    이 레일에서 버그가 수 있도록 보인다. 디버그 모드를 사용할 때 분명히 application.js의 지침은 개별 파일로 확장되지 않습니다, 그러나 또한 application.js에 포함되어 있습니다. 나는 이것에 대한 레일 코드를 보았다하지만 기본 자바 스크립트 파일 인 application.js로 인한 가정하지 않았습니다. 당신이 뭔가에이 파일의 이름을 변경하는 경우 디버그 모드에서 올바르게 지시어에 의해 지정된 파일과 default.js이 포함됩니다 말의 default.js을 할 것입니다 해당 파일 만 출력 자바 스크립트. 따라서 중복 된 코드를 생성 할 수 없습니다.

    예:

    application.js

    // = jquery_ujs을 필요로

    foo는 ();

    결과 :

    1) jquery_ujs.js

    2)) (jquery_ujs 내용과 foo는 함께 application.js

    default.js

    // = jquery_ujs을 필요로

    foo는 ();

    결과 :

    1) jquery_ujs.js

    2)) (foo는 함께 default.js

  7. ==============================

    7.나는 레일 3.2.12와 같은 문제가 있었다, 그러나 단순히 3.2.13로 업데이트하면 나에게 그 문제를 해결했습니다.

    나는 레일 3.2.12와 같은 문제가 있었다, 그러나 단순히 3.2.13로 업데이트하면 나에게 그 문제를 해결했습니다.

  8. ==============================

    8.내 경우에는 jQuery를 때문에 라인의 두 번로드 // = require_tree.

    내 경우에는 jQuery를 때문에 라인의 두 번로드 // = require_tree.

    application.js에서이 오류를 방지하고 내가 하위 디렉토리 응용 프로그램 / 자산 / 자바 스크립트 / autorequire 대신 require_tree의 작성에 사용하고있어 application.css합니다. 나는 require_tree ./autorequire을한다.

    따라서, 응용 프로그램 / 자산 / 자바 스크립트 및 응용 프로그램 / 자산 / 스타일 시트 파일을 실수로 더 이상 / 자동으로 포함되지 않습니다. 나는 서브 디렉토리에 내 모든 개인 .CSS와의 .js 파일을 배치하고 암시 적으로 포함되어 있습니다. 하지만 상위 경로에서 파일을 포함하는 순서로있는 정의 할 수 있습니다.

    나는 그렇게 때문에 내가 그들로 예상대로, 나는로드되지 자산으로 문제 없었어요.

  9. ==============================

    9.나는 다른 포스트에서이 솔루션을 복사, 그러나 이것은 나를 위해 일한 것입니다 (5 레일)

    나는 다른 포스트에서이 솔루션을 복사, 그러나 이것은 나를 위해 일한 것입니다 (5 레일)

    "최신 버전의 레일 rails_ujs 충분로 application.js에서 jquery_ujs를 제거합니다."

    나는 포함했다 : // = jQuery를 필요 // = JQuery와 - UJS을 필요로 // = 필요 레일 - UJS

    그것을 삭제 한 후, 모두 잘 작동합니다. 왜 레일에 두 번 JQuery와 경고를 받고 있습니다 :에서 해결?

  10. ==============================

    10.내 경우에는 (3.2.13 레일), 저도 같은 문제를 해결하기 위해 rails.js을 삭제했다.

    내 경우에는 (3.2.13 레일), 저도 같은 문제를 해결하기 위해 rails.js을 삭제했다.

    내가 명시 적으로 rails.js을 참조하지 않았고 config.assets.debug 도움말을 변경했다.

  11. ==============================

    11.난 그냥 원격 대신 데이터 원격 정의했기 때문에 그래서 나를 위해 그것을했다.

    난 그냥 원격 대신 데이터 원격 정의했기 때문에 그래서 나를 위해 그것을했다.

    IE

    데이터 : {원격 : 사실, ...}

    대신에

    원격 : 사실, 데이터 : {...}

    그게 도움이되기를 바랍니다.

  12. ==============================

    12.내 경우, 응용 프로그램이 포함 모두 "Mootools의의 UJS"와 "JQuery와 UJS"을했다이었다. 나는 Mootools의 하나를 제거있어 지금은 하나의 확인을 참조하십시오.

    내 경우, 응용 프로그램이 포함 모두 "Mootools의의 UJS"와 "JQuery와 UJS"을했다이었다. 나는 Mootools의 하나를 제거있어 지금은 하나의 확인을 참조하십시오.

  13. ==============================

    13.이 같은 레이아웃 HAML에서 두 번 팝업 문제가

    이 같은 레이아웃 HAML에서 두 번 팝업 문제가

    %head
      = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload'
      = javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
    %body
      #calendar.calendarsize
    

    그리고 나는 그것을 칭찬하고 그것을 작동합니다.

    %head
      = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload'
      -#= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
    %body
      #calendar.calendarsize
    
  14. ==============================

    14.단지 rails4에 나를 위해 일한의 turbolinks을 제거

    단지 rails4에 나를 위해 일한의 turbolinks을 제거

  15. ==============================

    15.중 하나를 실행하십시오

    중 하나를 실행하십시오

    rake assets:precompile ENV=development 
    

    또는

    rake assets:precompile ENV=production
    
  16. ==============================

    16.지우다:

    지우다:

    //= require jquery
    //= require jquery_ujs
    //= require_tree .
    

    응용 프로그램 / 자산 / 자바 스크립트 / application.js에서. 주석 처리에도 불구하고 이들의 js 파일을로드합니다. 그것은 나를 위해 작동합니다.

  17. from https://stackoverflow.com/questions/4475449/link-to-confirm-displays-popup-twice by cc-by-sa and MIT license