【发布时间】:2011-08-02 00:24:08
【问题描述】:
Ruby on Rails 显然改变了创建脚手架的语法。我正在尝试一个说要使用的示例:
ruby script/generate scaffold tale tale
ruby script/generate scaffold genre genre
数据库表被命名为“流派”和“故事”。当我不重复时,它可以正常工作:
ruby script/generate scaffold tale
ruby script/generate scaffold genre
但是,localhost/genre 并不像书中描述的那样工作。我可以使用 localhost/genres 访问该页面,但是当我选择“创建”时,该页面仅显示:
新类型
(创建按钮)
返回
我是否遗漏了显示输入字段所需的内容? “show create tablegenres”显示表定义为:
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 |
【问题讨论】:
-
2011 年是否有任何真正的学习理由(正如我从问题中猜测的那样,您正在学习,而不是试图修复一些旧应用程序)Rails 2.2?两年多了。
-
Rails 2.2 是从存储库安装的。你是对的,这有点老了。这本书更老,我注意到书中的截图说1.8.6是当前版本! RoR 3 是否主要取代了 RoR 2,还是更像 Python-3? RoR 站点有 3.x 和 2.x 版本的链接。
-
Rubygems 存储库包含每个 Rails 版本,从 2004 年降至 0.8.0;这并不意味着您实际上应该使用它。即使您(出于某种原因)更喜欢坚持使用 Rails 2.x,您也应该使用 2.3.12:它是最新的 2.x 版本,一个月前。我应该说,Rails 3.x 无疑是未来:3.0 相当稳定,3.1 正在成熟,鉴于你正在学习,你真的没有理由使用 2.x。
-
我在 @whitequark,使用 3.0.x 或 3.1.x 版本。并确保你学习/磨练如何编写好的测试......无论如何这是一件好事,并且还可以让你更容易地切换到未来的“破坏性/疯狂改变”的 Rails 版本。
标签: mysql ruby-on-rails ruby-on-rails-2