2011-08-02 53 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 

这将生成相同的数据库表,你在显示和正确的输入字段的意见。