<% form_for(@software) do |f| %>
正在生成一个如下所示的表单标记:
<form action="/software.%23%3Csoftware:0x24b2eac%3E" ...
软件模型有点特别,因为我已经把它变得不可思议了(软件并不适合我)
environment.rb:
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable %w( software )
end
但是我确实命名了一个单一的表格以使路线正常工作
map.resources :software, :singular => :software_item
像这样修改form_for:
<% form_for(@software, :url => software_item_path) do |f| %>
产生正确的输出,所以也许我会以错误的方式处理整个不可数的事情?通常有更好的方法使用具有相同单数和复数字的模型吗?
答案 0 :(得分:2)
我知道这个问题很老但我在Rails 4.1上遇到了类似的问题。
根据{{3}},inflect.uncountable
应定义:
[...]不应该尝试的不可数字。
然而由于某种原因,这是不够的(我会潜入源头看一看,看看有没有时间会发生什么)
无论如何,在inflect.irregular
中使用inflect.uncountable
代替config/initializers/inflections.rb
似乎可以解决问题
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.irregular 'software', 'software'
end