Rails中的单数或复数控制器和助手名称

对控制器和助手使用单数名称有任何不利之处吗?似乎没有任何依赖。甚至看来,助手至少在我有限的实验中,不必对单数或复数与其相应的控制器进行相同的选择。真的吗?



倚天杖
浏览 664回答 3
3回答

尚方宝剑之说

绝对是复数。带有平稳的路由和单个控制器控制器:dog_controller.rb  路线:map.resources :dogs  # => blows up  map.resources :dog  # is ok, but...  dogs_path # => blows up  dog_path  # => ok  使用复数控制器控制器:dogs_controller.rb路线:map.resources :dogs  dogs_path # => ok  dog_path # => ok  rails generate controller --help 有多个示例:Example:`rails generate controller CreditCards open debit credit close`CreditCards controller with URLs like /credit_cards/debit.    Controller: app/controllers/credit_cards_controller.rb    Test:       test/controllers/credit_cards_controller_test.rb    Views:      app/views/credit_cards/debit.html.erb [...]    Helper:     app/helpers/credit_cards_helper.rb

慕无忌1623718

为控制器使用复数名称只是一个约定。复数名称通常听起来更自然(尤其是对于直接绑定到特定模型的控制器:用户->用户等),但是您可以使用任何名称。至于助手,默认情况下,所有助手都可用于所有控制器,因此从技术上讲,您如何命名助手完全无关紧要。将控制器的助手功能保留在与控制器同名的助手中只是另一种约定。

互换的青春

模型是单数的,因为它引用了单个对象(例如User)。控制器是复数形式,因为它是用于收集用户的控件(方法)。路线的命名方式完全取决于该个人开发者。我从来没有用户抱怨过Web请求的URL是单数还是复数。最终结果是在为最终用户提供质量页面显示或API请求时为当前和将来的贡献者保持通用约定。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby