2012-03-16 5 views
2

ok Я пытаюсь вызвать команду DELETE HTTP с использованием встроенного рубина.Маршрут не работает в RoR

SO мой код:

<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 

, но я получаю эту ошибку!

No route matches [GET] "/signout" 

Я написал «метод:„удалить“!! так почему он дает мне ошибку GET

ребята применяя то, что вы сказали мне, в том числе application.js ломает мой JS код !! ? Вот моя голова код:.

</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

Вы пытаетесь сделать запрос GET на маршрут, который будет только реагировать на DELETE

Почему это не работает, Вы, вероятно, не вкл? uded application.js с помощью этого:

<%= javascript_include_tag :application %> 

Это будет включать jquery.js и jquery_ujs.js файлы, которые обеспечили бы method: "delete" функциональность для Вашей ссылки.

+0

«метод:« delete »должен отправить запрос DELETE. – Emily

+0

Я отредактировал мой вопрос, еще проблема –

+0

Включение версии jquery-1.7, вероятно, противоречит той, которая обычно входит в состав application.js. Пожалуйста, покажите код внутри application.js. –

1

Функциональность прохождения method: 'delete' основана на наличии функционирующей библиотеки UJS. Первое, что я хотел бы сделать, это убедиться, что файлы jquery и jquery_ujs включены правильно.

+0

Я отредактировал мой вопрос, еще проблема –

+0

вам нужно jquery_ujs, а не application.js – thiagofm

Смежные вопросы