【问题标题】:compound model name problems复合模型名称问题
【发布时间】:2011-12-09 00:51:29
【问题描述】:

在我正在制作的 rails 3 应用程序中,我有一个名为 homeBase 的模型。 这个(控制器/模型)的类名对于两者都是 homeBase - 不是控制器的复数形式。然而文件名是 home_base_controller 和 home_base.rb 我很难找到为这个和其他具有复合名称的模型工作的路径。每次我尝试使用控制器时,都会被告知它未初始化。 在rails中使用复合词作为名称是否有一些黑魔法规则?

【问题讨论】:

  • 您是否有任何理由不遵循通常的命名方案?
  • 我用我认为是 rails 要求的方案重做了一些事情 - 模型 HomeBase (home_base) 和控制器 HomeBases (home_bases)。但是,我也无法正确路径。 new_home_base_path 失败。那么我该如何引用路径呢?

标签: ruby-on-rails ruby ruby-on-rails-3


【解决方案1】:

简短回答:是的。

长答案:Rails 是一个固执己见的框架,对如何处理这些事情有具体的意见。以下是相关 Rails 约定的示例:

类(模型)名称是单数、大写的驼峰式。在您的情况下,该模型应称为HomeBase

控制器(本身就是 ruby​​ 类)也被定义为大写的驼峰式,但引用的模型是复数。在您的情况下,控制器应称为HomeBasesController

文件名总是使用小写的下划线表示法。在您的情况下,持有class HomeBase < ActiveRecord::Base 的文件应该在app/models/home_base.rb 中,而持有class HomeBasesController < ApplicationController 的文件应该在app/controllers/home_bases_controller.rb

【讨论】:

    猜你喜欢
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 2011-05-04
    • 2012-07-06
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多