3

我有奇怪的问题。在我看来,我有这样的代码:

= link_to 'Destroy', quests_path(quest), method: :destroy, class: 'btn btn-danger'

但在这种情况下,我的网址看起来像这样:

http://localhost:8080/quests.1

在我的参数中

action: index
controller: web/quests
format: '1'

但我需要参数中的 id 而不是格式。请帮我。

编辑:完全不工作方法::删除。

routes.rb 文件:

scope module: :web do
    root to: 'quests#index'

    match '/logout', to: 'sessions#destroy'

    resources :quests, only: [:new, :create, :index, :destroy] do
      get 'change_state', on: :member
    end
    resource :session, only: [:new, :create, :destroy]

    resource :user, only: [:new, :create, :destroy] do
      scope module: :user do

      end
    end
  end
4

3 回答 3

2

你拼错了

quests_path(quest)

正确的是

quest_path(quest)

要不就

quest

希望有帮助

于 2013-10-04T07:39:22.420 回答
1

这应该有效:

= link_to 'Destroy', quest, method: :delete, class: 'btn btn-danger'

您收到此错误的原因是您将 url 传递给 quests#index 而不是 quests#show/destroy。

于 2013-10-03T19:01:26.040 回答
0

该链接应使用该delete方法,例如:

= link_to 'Destroy', quest, method: :delete, class: 'btn btn-danger'

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

于 2013-10-03T20:11:47.083 回答