新的Rails应用程序从遗留表中绘制一些数据



我有一个新的rails应用程序,需要从一个名为"Doo_dad"的遗留表中访问数据,具有一个名为"id"的自动递增主键,和一个名为"name"的字符串字段。

所以我创建了一个名为app/models/doodad的新模型文件。rb,看起来像这样:
class Doodad < ActiveRecord::Base
   set_table_name "Doo_dad"
end

当我加载Rails控制台时,我可以访问Rails生成的模型,但是我看不到类

> rails console
irb> Doodad.class
NameError: uninitialized constant Doodad
(from (irb):1: in `evaluate`

类Doodad在app/models/Doodad。没有加载rb。这段代码很好,因为当我执行以下操作时:

> rails console
irb> class Doodad < ActiveRecord::Base
irb> set_table_name "Doo_dad"
irb> end
irb> Doodad.class
 => OK
irb> d=Doodad.new
irb> d.name="Uno"
irb> d.save
 => OK no errors

。当我在app/models/doodad的内容中进行猴子补丁时。rb,一切正常,名为"Uno"的Doodad被保存到数据库中。

我怎么能让Rails加载我的模型类挂钩到遗留表?

D'oh!我有类在app/models/doodads.rb。有一次我把它重命名为app/models/doodad。rb,一切正常。

我猜每个文件一个模型类的约定与Rails模型文件命名约定(filename=classname.underscore+".rb")是绝对的"必须"得到这个工作。

相关内容

  • 没有找到相关文章

最新更新