在使用名为sarlLegalSatuses
这是我得到的错误:
in check_controller_and_action': 'sarlLegalStatuses' is not a supported controller name. This can lead to potential routing problems.
我的路线:
ils.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root 'sarlLegalStatuses#new'
resources :sarlLegalStatuses
end
使用snake case解决了这个问题,但随着我在代码中的进一步发展,这开始变得非常烦人。我注意到人们对以“s”结尾的复数形式的单词存在问题,所以我添加了以下变形而没有成功,你可以看到:
ACTI
veSupport::Inflector.inflections(:en) do |inflect|
# inflect.acronym 'RESTful'
inflect.uncountable %w(sarl legal)
inflect.irregular 'status', 'statuses'
end
有什么问题?
答案 0 :(得分:1)
这里的错误是你试图违反Ruby on Rails惯例。坚持RoR惯例,在你的路线中使用蛇案:
root 'sarl_legal_statuses#new'
resources :sarl_legal_statuses
你没事。而且,对于那些可能在未来进入该项目的人来说,代码将更加友好。所以骆驼案的实验完全没有意义。
答案 1 :(得分:0)
显然,您必须在代码中对控制器名称进行蛇形操作,请参阅routing-for-controllers-with-multiple-words-in-in-rails-4 on stakoverflow,但我一直在阅读许多指南和命名约定我似乎从未提及过这种情况(使用哪种情况)所以我想我只需要用评论者的话说。