rails单个文件中的多个模型

Müs*_*sli 7 activerecord ruby-on-rails ruby-on-rails-3

我想知道是否有办法在一个文件中有两个或模型模型类.

这是一个简单而非常基本的例子:

dia_actividad.rb

class DiaActividad < ActiveRecord::Base

    self.table_name =  "dbo.DIAACTIVIDAD"
  self.primary_keys = :CASINO_ID, :DIAACTIVIDAD_ID

  attr_accessible :CASINO_ID, :DIAACTIVIDAD_ID, :DFECHAHORAINICIO, :ESTADODIA_ID

  belongs_to :dia_actividad_estado, :foreign_key => :ESTADODIA_ID

end
Run Code Online (Sandbox Code Playgroud)

dia_actividad_estado.rb

class DiaActividadEstado < ActiveRecord::Base

    self.table_name =  "dbo.ESTADODIA"
  self.primary_key = :ESTADODIA_ID

  attr_accessible :ESTADODIA_ID, :CESTADODIA

end
Run Code Online (Sandbox Code Playgroud)

我想要一个这样的文件:

  class DiaActividad < ActiveRecord::Base

        self.table_name =  "dbo.DIAACTIVIDAD"
      self.primary_keys = :CASINO_ID, :DIAACTIVIDAD_ID

      attr_accessible :CASINO_ID, :DIAACTIVIDAD_ID, :DFECHAHORAINICIO, :ESTADODIA_ID

      belongs_to :dia_actividad_estado, :foreign_key => :ESTADODIA_ID

    end

    class DiaActividadEstado < ActiveRecord::Base

        self.table_name =  "dbo.ESTADODIA"
      self.primary_key = :ESTADODIA_ID

      attr_accessible :ESTADODIA_ID, :CESTADODIA

    end
Run Code Online (Sandbox Code Playgroud)

单个文件中的两个类.但我得到了未初始化的常量错误.当ai试图参考DiaActividadEstado时.

有没有办法做到这一点?

提前致谢

rew*_*ten 5

我强烈建议不要这样做.在文件中定义的模型名称与类名不对应会破坏Rails的自动加载机制(也就是说,每当找到未定义的常量时,都需要相应的文件,并希望找到定义.

如果你真的坚持这样做,至少在某处配置"autoload",(请参阅http://www.rubyinside.com/ruby-techniques-revealed-autoload-1652.html获取更多信息),所以缺少的课程在正确的位置搜索(自动加载覆盖rails"智能"需要).