2009-10-23 79 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