gpt4 book ai didi

ruby-on-rails - 嵌套资源的 Rails 路由错误

转载 作者:行者123 更新时间:2023-12-05 01:22:12 26 4
gpt4 key购买 nike

在我的应用程序中,我有一个 RecipesController 和一个 CommentsController。所有评论都属于一个食谱,并且可以投票。这是我的 routes.rb 中的一个片段:

  resources :recipes do
member do
put 'vote_up'
post 'comment'
end

resources :comments do
member do
put 'vote_up'
end
end
end

如果我运行 rake 路由,我会在输出中找到以下路由:

vote_up_recipe_comment PUT    /recipes/:recipe_id/comments/:id/vote_up(.:format) {:action=>"vote_up", :controller=>"comments"}

CommentsController 有一个名为 vote_up 的方法。

此外,链接到路线有效(在我看来)

    <%= link_to 'Vote up', vote_up_recipe_comment_path(@recipe, comment), :method => 'put' %> <br />

但是,单击该链接会出现以下错误:

Routing Error

No route matches "/recipes/7/comments/4/vote_up"

我错过了什么?我不知道如何调试它,因为据我所知路由应该匹配。

最佳答案

我认为您收到此错误消息是因为请求是通过 HTTP GET 方法而不是 PUT 发出的。

为了创建使用 POST/PUT/DELETE 方法的链接,您的应用程序应正确加载 Javascript Rails 适配器。

检查您的应用程序是否具有 jQuery (http://github.com/rails/jquery-ujs) 或 Prototype JS 适配器,并且您的布局是否正确加载它。

关于ruby-on-rails - 嵌套资源的 Rails 路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4076549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com