在我正在制作的rails 3应用程序中,我有一个名为homeBase的模型。 这个(控制器/模型)的类名是两者的homeBase - 不是控制器的多元化。然而,文件名是home_base_controller和home_base.rb 我正在艰难地为这个和其他具有复合名称的模型工作。每次我尝试使用控制器时,我都被告知它未经初始化。 在rails中使用复合词作为名称是否有一些黑魔法规则?
答案 0 :(得分:3)
简短回答:是的。
答案很长:Rails是一个固定的框架,对如何处理这些事情有具体的意见。以下是相关Rails约定的示例:
类(模型)名称是单数,大写的驼峰案例。在您的情况下,应该将模型称为HomeBase
。
控制器(自己是ruby类)也被定义为大写的驼峰案例,但引用的模型是复数。在您的情况下,控制器应该被称为HomeBasesController
。
文件名始终使用小写的下划线表示法。在您的情况下,持有class HomeBase < ActiveRecord::Base
的文件应位于app/models/home_base.rb
,持有class HomeBasesController < ApplicationController
的文件应位于app/controllers/home_bases_controller.rb