从Rails 2中的现有表模型

时间:2009-10-23 08:31:23

标签: ruby-on-rails database model

我有一个包含表格的数据库。我想在现有表格的Rails应用程序中创建一个模型。据我所知,这样的功能是可用的,并按如下方式完成:

script/generate scaffold model_name --skip-migration


当然,我在database.yml文件中定义了我的数据库。脚手架为我生成了一个带控制器和视图的模型。我的表名不是Rails必须的(它不正确,不遵循约定),我将set_table_name添加到我的控制器。但是,当我调用索引方法时,在我的页面上我只有#符号集,但不是数据库中的数据。在我的index.html.erb中,我只通过scaffold生成代码。如何打印出我的数据库数据?

1 个答案:

答案 0 :(得分:7)

您是否从现有数据库生成了架构文件?如果您运行命令

rake db:schema:dump

然后重新生成你的脚手架这应该解决问题。

此外,您可能希望查看Dr Nic's Magic Model generator。这将为所有现有表生成模型,并尝试猜测关系。如果rails无法理解您的表命名,那么这可能不起作用。

<强>更新

我一般不使用默认的脚手架,但是我自己测试了这个,看来如果你跳过迁移并且没有传递任何列名/类型对,那么脚手架生成器将不会在模板中创建任何东西来渲染列。

你有两个选择

  1. 传入列名称对以及跳过迁移或
  2. 下载Ryan Bates Nifty Scaffold generator,即使您指定了--skip-migration
  3. ,也会创建包含列名称的脚手架