2012-03-16 4 views
2

ok 포함 된 루비를 사용하여 DELETE HTTP 명령을 호출하려고합니다. 내 경로에경로가 RoR에서 작동하지 않습니다.

<li><%= link_to "Sign out", signout_path, method: "delete" %></li> 

내가

#Note the use of via: :delete for the signout route, which indicated that it should be invoked using an HTTP DELETE request 
    match '/signout', to: 'sessions#destroy', via: :delete 

있어하지만 난이 오류 :

그래서 내 코드입니다! !! "삭제 그래서 왜 나에게 GET 오류를 주는가

사람은 내 JS 코드 application.js 나누기를 포함하여, 당신이 나에게 말한 적용! :

No route matches [GET] "/signout" 

나는"방법 "쓴? 여기 내 머리의 코드입니다.? 당신 만 삭제에 응답 할 경로에 GET 요청을 시도하고

</head> 

     <!-- Ruby Code --> 
     <%= stylesheet_link_tag "scaffold" %> 
     <%= stylesheet_link_tag "myCSS/home.css", :media => "all" %> 
     <%= stylesheet_link_tag "myCSS/JS_dropdown_menu.css", :media => "all" %> 
     <%= javascript_include_tag "myJS/jquery-1.7.js" %> 
     <%= javascript_include_tag "myJS/hoverIntent.js" %> 
     <%= javascript_include_tag "myJS/jquery.dropdown.js" %> 
     <%= javascript_include_tag "application.js" %> 

     <%= csrf_meta_tags %> 

    </head> 

답변

1

왜이 작업 당신은 아마 포함하지 않았을 것입니다

<%= javascript_include_tag :application %> 

이이 링크에 대한 method: "delete" 기능을 제공 할 것 jquery.jsjquery_ujs.js 파일을 포함합니다 :이 사용 application.js을 uded.

+0

'method : 'delete'는 DELETE 요청을 보내야한다. – Emily

+0

내 질문을 편집했지만 여전히 문제가 있습니다 –

+0

jquery-1.7 버전을 포함하면 일반적으로 application.js에 포함 된 것과 충돌 할 수 있습니다. application.js에 코드를 표시하십시오. –

1

method: 'delete'을 전달하는 기능은 작동하는 UJS 라이브러리가 있어야합니다. 가장 먼저 할 일은 jqueryjquery_ujs JavaScript 파일이 올바르게 포함되어 있는지 확인하는 것입니다.

+0

내 질문을 편집했지만 여전히 문제가 있습니다 –

+0

application.js가 아니라 jquery_ujs가 필요합니다. – thiagofm

관련 문제