Ruby on rails 3 新Rails应用程序从旧表中绘制一些数据
我有一个新的rails应用程序,它需要访问一个名为Doo_dad的旧表中的数据,该表具有一个名为id的自动递增主键和一个名为name的字符串字段 因此,我创建了一个名为app/models/doodad.rb的新模型文件,如下所示:Ruby on rails 3 新Rails应用程序从旧表中绘制一些数据,ruby-on-rails-3,legacy-database,Ruby On Rails 3,Legacy Database,我有一个新的rails应用程序,它需要访问一个名为Doo_dad的旧表中的数据,该表具有一个名为id的自动递增主键和一个名为name的字符串字段 因此,我创建了一个名为app/models/doodad.rb的新模型文件,如下所示: class Doodad < ActiveRecord::Base set_table_name "Doo_dad" end app/models/Doodad.rb中的类Doodad未加载。这段代码很好,因为当我执行以下操作时: > rails
class Doodad < ActiveRecord::Base
set_table_name "Doo_dad"
end
app/models/Doodad.rb中的类Doodad未加载。这段代码很好,因为当我执行以下操作时:
> 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
i、 e.当我在app/models/doodad.rb的内容中打补丁时,一切正常,名为Uno的doodad被保存到数据库中
如何让Rails加载连接到遗留表的模型类?D'oh!我在app/models/doodads.rb中上课。一旦我把它重命名为app/models/doodad.rb,一切都很好
我想每个文件一个模型类的约定与Rails模型文件命名约定filename=classname.underline+.rb是实现这一点的绝对必要条件 什么错误?类似于发生的事情通常是一个有用的诊断工具。该表是否显示在schema.rb中?NameError:未初始化常量dooda该模式不在schema.rb中,但我不希望它出现,因为我没有为它创建迁移。就我所知,schema.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