我创建了一个名为pais的脚手架(这是巴西葡萄牙语中的一个单词,与该国家相同),我使用了以下命令创建了一个脚手架:
ruby script\generate scaffold pais name:string abreviattion:string
首先,我将词尾改成我的本地习惯用法,就像这样:
inflect.plural /^([a-zA-z]*)s$/i, '\1ses' #The plural of Pais is Paises
当我尝试打开http://localhost:3000/paises上的页面时,我收到以下错误:
undefined method `edit_pais_path' for #<ActionView::Base:0x387fdf4>
提前致谢。
最佳答案
问题"pais".pluralize
导致"pais"
对于选择制作News
模型的人来说,这确实很常见。 Rails需要区分模型的单数形式和复数形式。
routes.rb
map.resources :pais, :singular => :pai
现在您将使用
pai_path
,edit_pai_path
和new_pai_path
或者
map.resources :pais, :as => "goats"
将为您生成以下路径:
HTTP URL controller action
GET /goats Pais index
GET /goats/new Pais new
POST /goats Pais create
GET /goats/1 Pais show
GET /goats/1/edit Pais edit
PUT /goats/1 Pais update
DELETE /goats/1 Pais destroy
在Rails Routing from the Outside in上查阅guides.rubyonrails.org指南以获取更多信息