2011-08-02 49 views
1

Ruby on Rails顯然改變了創建腳手架的語法。我正在嘗試使用一個示例:腳手架在Rails 2.2中?

ruby script/generate scaffold tale tale 
ruby script/generate scaffold genre genre 

數據庫表被命名爲「類型」和「故事」。當我不重複,它的工作原理確定:

ruby script/generate scaffold tale 
ruby script/generate scaffold genre 

然而,正如書中所描述的本地主機/流派不起作用。我可以使用本地主機/流派訪問的頁面,但是當我選擇「創建」的頁面只顯示:

新的流派

(創建按鈕)

返回

我失去的東西,需要顯示輸入字段? 「顯示創建表的類型」顯示錶定義爲:

CREATE TABLE `genres` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `genre_name` varchar(25) NOT NULL, 
    `description` varchar(100) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 | 
+2

2011年有什麼真正的理由來學習(正如我從這個問題猜測,你正在學習,而不是試圖修復一些舊的應用程序)Rails 2.2?它已經兩年多了。 – whitequark

+0

從存儲庫安裝Rails 2.2。你說得對,這有點舊了。這本書甚至更老,我注意到書中的截圖說1.8.6是當前版本! RoR 3大部分取代了RoR 2,還是更像Python-3? RoR站點有一個鏈接到3.x和2.x版本。 – NoBugs

+1

Rubygems存儲庫包含每個Rails版本,從2004年降到0.8.0;這並不意味着你實際上應該使用它。即使你(出於某種原因)更願意堅持使用Rails 2.x,你應該使用2.3.12:這是最近一個月的2.x版本。我應該說,Rails 3.x無疑是未來:3.0非常穩定,3.1正在成熟,並且鑑於您正在學習,所以您應該使用2.x真的沒有理由。 – whitequark

回答

1

的腳手架生成表單上輸入字段,你應該通過他們在命令本身。

ruby script/generate scaffold genre genre_name:string description:text 

這將生成相同的數據庫表,你在顯示和正確的輸入字段的意見。