【问题标题】:Routes Leading me to a Different Action引导我采取不同行动的路线
【发布时间】:2013-04-01 02:57:03
【问题描述】:

我有一个路由文件夹

resources :groups

在我的GroupsController 这里有一些操作

def new
  @group = Group.new
end

def update
end

def show
  @groups = Group.find(params[:id])
end

当我运行 rake 路线时,我看到了

new_group GET    /groups/new(.:format)    groups#new

所以现在在我的html页面中

a.btn.btn-primary href="/groups/new"

有趣的是,每当我点击链接时,它就会告诉我

No route matches {:action=>"show", :controller=>"groups"}

实际上,我确实有一个 show 动作的路线匹配。我还检查并没有任何过滤器将我重定向到我的GroupsController 中的显示操作。我不知道为什么它会重定向我显示。出了什么问题,我该如何解决?我一定遗漏了一些明显的东西。

更新

如果我像这样从资源方法中删除显示操作

resources :groups, except: [:show]

然后它告诉我它找不到update 操作。

已解决

我发现在我的new.html 页面中有一个对group_path 的调用,而实际上它应该是groups_path

【问题讨论】:

  • 与其自己编写路由,不如尝试使用new_group 辅助方法。所以代替这个:a.btn.btn-primary href="/groups/new" 使用这个:a.btn.btn-primary href="#{new_group}"
  • 对不起,没有区别。仍然引导我进入路由错误页面。作为参考,它应该是new_group_pathnew_group_url
  • 抱歉,忘记了尾随的_path :/ 这确实很奇怪...我会挖掘它,希望能回来提供一些有用的东西。
  • 出于兴趣,您的update 操作有什么作用?是否有机会重定向到show
  • 更新操作目前不执行任何操作。我用来自Groups Controller 的更多代码更新了我的问题。

标签: ruby-on-rails ruby-on-rails-3 hyperlink routing


【解决方案1】:

我发现在我的 new.html 页面中有一个对 group_path 的调用,而实际上它应该是 groups_path

【讨论】:

    猜你喜欢
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多