2009-10-23 43 views
5

我有一个带有表的数据库。我想从现有表格的Rails应用程序中创建一个模型。据我所知,这样的功能是可用的,并且如下进行:

script/generate scaffold model_name --skip-migration


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

+0

我打开网页的源和看到的,我有这样的事情:​​# Yurish 2009-10-23 09:04:14

+0

你能在你的index.h的内容粘贴tml.erb文件 – 2009-10-23 09:22:40

+0

上市klients

<%@ klients.each做| klient | %> ​​<%=的link_to '显示',klient%> ​​<%=的link_to '修改',edit_klient_path(klient)%> ​​<%=的link_to '销毁',klient,:确认= > '你确定吗?',:方法=>:删除%> <% end %>

<%=的link_to '新klient',new_klient_path%> – Yurish 2009-10-23 09:50:47

回答

7

您是否从现有数据库生成了模式文件?如果你运行该命令

rake db:schema:dump 

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

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

UPDATE

我一般不使用默认的支架,但是我已经测试此我自己,看来,如果你跳过迁移和不传递任何列名/类型对随后的脚手架发电机不会在模板中创建任何内容以呈现列。

你有两个选择要么

  1. 列名对通行证以及跳过迁移或
  2. 下载瑞安贝茨Nifty Scaffold generator这将创建一个列名的支架即使您指定 - -skip迁移
+0

我有PostgreSQL数据库,和我生成模式。问题没有解决。 – Yurish 2009-10-23 08:58:15

+0

谢谢!我会尝试,但看起来,你是对的! – Yurish 2009-10-23 10:50:55

+0

这对我来说真棒。我创建了一个新应用程序,将它指向一个来自旧(非rails)应用程序数据库的数据库,并为我的358表创建了用于迁移表创建语句的schema.rb文件!然后我将应用程序指向不同的数据库,并使用此模式文件在不同的数据库中创建它。 – 2012-02-14 04:30:26