Ruby on rails ActionController:没有路由匹配
我的控制器中的操作有问题-当我使用销毁操作调用link_以查看时,出现错误:Ruby on rails ActionController:没有路由匹配,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我的控制器中的操作有问题-当我使用销毁操作调用link_以查看时,出现错误: ActionController::UrlGenerationError No route matches {:controller=>"user_votes", :action=>"destroy", :recipient_uid=>2911238} 路线: App::Application.routes.draw do devise_for :users, :controllers =&
ActionController::UrlGenerationError
No route matches {:controller=>"user_votes", :action=>"destroy", :recipient_uid=>2911238}
路线:
App::Application.routes.draw do
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
resources :users
resources :votes
resources :user_votes
root 'main#home'
end
用户\投票\控制器:
class UserVotesController < ApplicationController
def destroy
@user_vote = UserVote.find_by(params[:recipient_uid])
@user_vote.destroy
redirect_to root_url
end
end
你能告诉我哪里出错了吗
谢谢 销毁函数的资源url实际上是“用户投票/:id”。因此,在调用link\u to helper时,需要传入
:id
参数
= link_to 'Delete', {controller: "user_votes", action: "destroy", recipient_uid: friend.uid, id: some_id}, method: "delete"
用实际资源id替换
some_id
。请显示config/routes.rb的内容。此外,link_to
的控制器/操作哈希语法已经过时,您应该使用route helper。
= link_to 'Delete', {controller: "user_votes", action: "destroy", recipient_uid: friend.uid, id: some_id}, method: "delete"