Маршрут не работает в RoR - PullRequest
2 голосов
/ 16 марта 2012

хорошо, я пытаюсь вызвать команду DELETE HTTP, используя встроенный ruby.

ТАК мой код:

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

Я написал "method:" delete "!! так почему он выдает ошибку 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>

Ответы [ 2 ]

1 голос
/ 16 марта 2012

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

1 голос
/ 16 марта 2012

Вы пытаетесь отправить запрос GET на маршрут, который будет отвечать только на УДАЛИТЬ.

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

<%= javascript_include_tag :application %>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...