= link_to 'Destroy', quests_path(quest), method: :destroy, class: 'btn btn-danger'
但在这种情况下我的网址看起来像这样:
http://localhost:8080/quests.1
在我的参数中
action: index
controller: web/quests
format: '1'
但是我需要在params而不是format中使用id。 请帮帮我。
编辑: 完全不起作用的方法:: delete。
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
答案 0 :(得分:1)
这应该有效:
= link_to 'Destroy', quest, method: :delete, class: 'btn btn-danger'
你得到这个错误的原因是你将url传递给任务#index而不是任务#show / destroy。
答案 1 :(得分:1)
你拼错了
quests_path(quest)
正确
quest_path(quest)
或只是
quest
希望有所帮助
答案 2 :(得分: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