Routing Error: No route matches [POST] "/topics/post_up_vote_path(post)"
Routing Error: No route matches [POST] "/topics/post_up_vote_path(post)"
我正在为学校做作业,我收到了一个我不明白的路由错误。我正在尝试集成一个投票功能,让用户可以对各种posts 在网站上。但是,我不断收到以下错误:
Routing Error
No route matches [POST] "/topics/post_up_vote_path(post)"
我最近更新了我的 routes.rb 文件以实现浅层嵌套:
Rails.application.routes.draw do
devise_for :users
resources :users, only: [:update]
resources :topics do
resources :posts, except: [:index]
end
resources :posts, only: [] do
resources :comments, only: [:create, :destroy]
post '/up-vote' => 'votes#up_vote', as: :up_vote
post '/down-vote' => 'votes#down_vote', as: :down_vote
end
get 'about' => 'welcome#about'
root to: 'welcome#index'
end
现在 up_votes 和 down_votes 的路线如下所示:
post_up_vote_path POST /posts/:post_id/up-vote(.:format) votes#up_vote
post_down_vote_path POST /posts/:post_id/down-vote(.:format) votes#down_vote
从上面收到的错误来看,我的应用似乎在搜索 /topics/post_up_vote_path(post) 而它应该搜索 /posts/:post_id/up-vote 。我有点卡在这一点上,不确定如何让事情正确路由..
这里是与此项目关联的相关 GitHub 分支,以供进一步参考其他文件:
https://github.com/jlquaccia/Bloccit/tree/checkpoint-49-voting
在您的选民部分 (app/views/votes/_voter.html.erb
) 中,您将字符串 'post_up_vote_path(post)'
作为 link_to
的 url 参数传递。您只需要去掉引号,将 link_to
更改为:
link_to " ", post_up_vote_path(post), class: 'glyphicon glyphicon-chevron-up', method: :post
你必须对反对票做同样的事情 link。
我正在为学校做作业,我收到了一个我不明白的路由错误。我正在尝试集成一个投票功能,让用户可以对各种posts 在网站上。但是,我不断收到以下错误:
Routing Error
No route matches [POST] "/topics/post_up_vote_path(post)"
我最近更新了我的 routes.rb 文件以实现浅层嵌套:
Rails.application.routes.draw do
devise_for :users
resources :users, only: [:update]
resources :topics do
resources :posts, except: [:index]
end
resources :posts, only: [] do
resources :comments, only: [:create, :destroy]
post '/up-vote' => 'votes#up_vote', as: :up_vote
post '/down-vote' => 'votes#down_vote', as: :down_vote
end
get 'about' => 'welcome#about'
root to: 'welcome#index'
end
现在 up_votes 和 down_votes 的路线如下所示:
post_up_vote_path POST /posts/:post_id/up-vote(.:format) votes#up_vote
post_down_vote_path POST /posts/:post_id/down-vote(.:format) votes#down_vote
从上面收到的错误来看,我的应用似乎在搜索 /topics/post_up_vote_path(post) 而它应该搜索 /posts/:post_id/up-vote 。我有点卡在这一点上,不确定如何让事情正确路由..
这里是与此项目关联的相关 GitHub 分支,以供进一步参考其他文件:
https://github.com/jlquaccia/Bloccit/tree/checkpoint-49-voting
在您的选民部分 (app/views/votes/_voter.html.erb
) 中,您将字符串 'post_up_vote_path(post)'
作为 link_to
的 url 参数传递。您只需要去掉引号,将 link_to
更改为:
link_to " ", post_up_vote_path(post), class: 'glyphicon glyphicon-chevron-up', method: :post
你必须对反对票做同样的事情 link。