ruby-on-rails – 当模型单数和复数名称相同时(例如设备,物种),rails链路路径和路由错误

ruby-on-rails – 当模型单数和复数名称相同时(例如设备,物种),rails链路路径和路由错误,第1张

概述<%= link_to t('.new', :default => t("helpers.links.new")), new_equipment_path, :class => 'btn btn-primary' %> 我在视图中有上面的代码,但是在点击链接时出现以下错误:没有路由匹配{:action =>“show”,:controller =>“equipment”} 我的路线文件包含: re
<%= link_to t('.new',:default => t("helpers.links.new")),new_equipment_path,:class => 'btn btn-primary' %>

我在视图中有上面的代码,但是在点击链接时出现以下错误:没有路由匹配{:action =>“show”,:controller =>“equipment”}

我的路线文件包含:

resources :equipmentresources :workoutsmatch ':controller(/:action(/:ID))(.:format)'

为什么要尝试访问show动作?

以下是我的路线中的条目:

equipment_index GET        /equipment(.:format)                   equipment#index                   POST       /equipment(.:format)                   equipment#create     new_equipment GET        /equipment/new(.:format)               equipment#new    edit_equipment GET        /equipment/:ID/edit(.:format)          equipment#edit         equipment GET        /equipment/:ID(.:format)               equipment#show                   PUT        /equipment/:ID(.:format)               equipment#update                   DELETE     /equipment/:ID(.:format)               equipment#destroy
解决方法 这个问题有 cropped up before,与rails scaffolding如何为名为’equipment’的模型生成new.HTML.erb文件有关,这些模型既有单数也有复数.

如果你检查new.HTML.erb文件中的form_for,你会在底部的link_to中看到equipment_path.对于具有单数==复数名称的这些模型,这些名称指的是实际用于show动作的路径,因此您的错误消息.

建议通常是“如果可以的话,避免像这样的模型名称”,或者它涉及到使用config / initializers / inflections.rb文件来强制复制版本的模型名称.当然,你最终会得到一个非常奇怪的模型引用的应用程序:“设备”不是很好用(以后有人会“修复”它,再搞乱一下).

要保持模型名称在语法上正确,您需要修复form_for,即:

<%form_for(@equipment,:url => {:action =>’create’})do | f | %GT;

和link_to:

<%= link_to'Back',equipment_index_path%>

总结

以上是内存溢出为你收集整理的ruby-on-rails – 当模型单数和复数名称相同时(例如设备,物种),rails链路路径和路由错误全部内容,希望文章能够帮你解决ruby-on-rails – 当模型单数和复数名称相同时(例如设备,物种),rails链路路径和路由错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1290048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存