Agile Web Development with Rails, 2nd Edition

Dave Thomas, David Hansson, Leon Breedt, Mike Clark, James Duncan Davidson, Justin Gehtland, Andreas Schwarz

出版时间

2006-12-21

ISBN

9780977616633

评分

★★★★★
精彩摘录
  • "ruby script/generate scaffold product \ title:string..."
  • ""http://localhost:3000/admin""
  • "<%= imag_tag("logo.png") %>"
  • "如果你看到的是 No route matches "/say/hello",试着重启服务,可能你做了什么导致 Rails 将控制器创建前的配置信息缓存起来了。"
  • "但<%=和%>符号之间的内容则会被看作 Ruby 代码执行,执行的结果将被转换为字符串,并替换到文件中 <%=...%>序列所在的位置。 另外,在.html.erb 文件中,<%与%>符号(前者没有等号)之间的内容会被看作 Ruby 代码执行, 但执行的结果不替换回输出。真正有趣的是,可以将这种程序处理与非 Ruby 代码混合使用。"
  • "为什么我们要在控制器中获取时间,然后在视图中显示?这不是自找麻烦吗?问得好。在这个应用程序中,你当然可以直接在模板中调用 Time.now()方法;但是,把这一调用放进控制器会给我们带来方便。 譬如说,也许我们将来会希望对应用程序进行扩展,使其可以支持多国家使用,这样我们就须对时间的显示加以本地化:不仅要选择适合用户习惯的显示格式,还要提供与他们所在时区相应的时间。这些逻辑应该属于应用级代码,并不适合嵌在视图中。 如果在控制器中提供要显示的时间信息,我们的应用程序就会更加灵活:我们可以在控制器中修改显示格式和时区设置,而不必对视图做任何修改。 时间信息是一份数据,它应该由控制器提供给视图。 等"
  • "depot> ruby script/generate scaffold product \ > title:string description:text image_url:string"
  • "命令太长页面中无法放入。要把一条命令分成多行输入,只需在行尾加入反斜杠,你就会得到提示要求输入更多内容。 Windows 用户需要将完整的命令在一行中输入,不能有反斜杠。 6这本书中的时间戳明显是人为编造的。通常时间戳是不连续的,它反映出创建迁移任务的时间。 7如果这让你感到危险,不妨现在就尝试一下撤销迁移。只要在命令行输入: depot>rake db:migrate VERSION=0 数据库结构就会穿梭时空回到过去,products 表就这么消失了,再调用 rake db:migrate 则会再次创建它。"
用户评论
不错的书,我的 Ruby 和 Rails 的入门书。
也是这个寒假必须读完的书
...
很不错的一本书,就是所介绍的Rails已经有点老了。。。。
Pragmatic Bookshelf的其他书籍查看全部

收藏