`
tiny.strimp
  • 浏览: 30457 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Agile Web Development with Rails 3nd Edition学习笔记-创建产品目录列表

阅读更多
按照书上的引导,我们现在该是增加一个新的Controller的时候了。这个Controller用于将产品归类,并产生归类后的产品列表页面。它的名字叫store。
现在我们创建这个Controller:
引用
ruby script/generate controller store index

执行这个命令之后,我们需要的关于store的文件就都创建好了。
通过观察创建后的文件和内容,我们知道上面命令中最后的那个index是告诉generate生成store的Controller的源码文件时,同时生成一个叫index的方法,以便后面使用。

接下来,我们想要在store/index的页面上显示从所有products中找到的参品列表。首先我们要取得搜索到的产品对象。所以,我们需要在store_controller.rb文件的index方法中添加取得对象列表的代码。
def index
  @products = Product.find_products_for_sale
end

从上面的代码可以看到,搜索的工作其实是Product类中的find_products_for_sale方法来完成的。但是我们现在还没有这个方法。那么我们就需要在modules/product.rb文件中添加这个方法。
def self.find_products_for_sale
  find(:all, :order => "title")
end

这里,我们定义该方法时,前面添加了“self.”是为了使这个方法成为类方法,而不是一个实例方法。因为我们在调用的时候实际上是通过Product这个类型来调用的。
这个方法中的处理实际上只有一行,使用了Rails的find方法。其中参数“:all”是说明我们需要所有满足条件的记录行。而“:order => “title””则说明我们希望结果按照字母顺序对title进行排序。

数据都拿到了,那么接下来我们该为显示做点工作了。我们将在app/views/store/index.html.erb文件中添加我们的显示代码。具体代码如下:
<h1>Your Pragmatic Catalog</h1>

<% for product in @products -%>
  <div class="entry">
    <%= image_tag(product.image_url)%>
    <h3><%=h product.title%></h3>
    <%= product.description %>
    <div class="price-line">
    <span class="price"><%= product.price %></span>
    </div>
  </div>
<% end %>

(注:<%=h ... %>中的h()方法可以将中间的字符串中所有的html标记都清除掉。从安全的角度来讲,这将会是很好的。仅当你能够确定你的字符串是安全的时候,将h去掉才是对的。)

现在,我们启动我们的网站服务,在浏览器的地址栏中输入“http://localhost:3000/store”,就可以看到产品的catelog列表的实际样子了。
下图就是实际的显示效果图。不管怎么说,看起来还不错。
  • 大小: 135.2 KB
分享到:
评论

相关推荐

    Agile Web Development with Rails, 2nd Edition

    Agile Web Development with Rails, 2nd Edition &lt;br&gt;有两份PDF文件,大小分别是7.39MB和6.55MB &lt;br&gt;作者: Dave Thomas , David Heinemeier Hansson , Leon Breedt , Mike Clark , James Duncan Davidson ,...

    Agile Web Development with Rails 3nd Edition Beta.pdf

    ### 敏捷Web开发与Rails 3:关键知识点解析 #### 一、Rails版本与兼容性 本书《敏捷Web开发与Rails》第三版是基于Rails 2编写的。截至本书印刷时,当前可用的Rails Gem版本为2.1。书中所包含的所有代码均已在该...

    Agile Web Development with Rails 3nd Edition Beta

    文件列表中的《Agile Web Development with Rails 3nd Edition Beta.pdf》很可能是这本书的电子版,读者可以通过阅读此PDF文件获取完整的学习资料,包括详细的章节讲解、示例代码和练习题,以便在实践中不断巩固和...

    Agile+Web+Development+with+Rails中文版.pdf

    在《Agile Web Development with Rails》中,读者可以学习到如何运用敏捷方法来规划项目,实施增量式开发,并通过频繁的反馈来提高产品质量。 Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web开发框架,它...

    Agile Web Development with Rails 4

    Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details., Tens of thousands of ...

    Agile Web Development with Rails 3nd Edition .pdf

    Rails敏捷开发第三版,很不错的rails入门书,对初学rails的人很有用

    Agile Web Development with Rails-Second Edition-Beta一书例子

    《Agile Web Development with Rails-Second Edition-Beta》是一本专注于使用Ruby on Rails进行敏捷Web开发的书籍。这本书的第二版beta版提供了关于如何利用Rails框架高效构建动态、响应式网站的深入指导。作者们...

    Agile Web Development with Rails,Fourth Edition 第四版

    《敏捷Web开发与Rails》第四版是一本专为软件开发者设计的权威指南,全面涵盖了使用Ruby on Rails框架进行敏捷Web应用开发的知识。Rails 3是该版本的重点,它引入了许多新特性和改进,使得开发过程更为高效且灵活。...

    Agile Web Development with Rails

    书中的"Pragmatic.Bookshelf.Agile.Web.Development.with.Rails.2nd.Edition.Dec.2006.eBook-BBL"可能是该书籍的电子版文件,它包含了全书的章节和内容。读者可以通过这个电子版深入学习Rails开发的各种技巧和最佳...

    Agile Web Development with Rails 4th edition(敏捷Web开发与Rails:程序指南 第四版)

    《敏捷Web开发与Rails:程序指南 第四版》是一本深度探讨使用Ruby on Rails框架进行敏捷Web应用开发的专业书籍。本书旨在帮助开发者充分利用Rails 4的特性,提高开发效率,实现快速迭代和高质量的代码编写。 Rails是...

    Agile Web Development with Rails 1-14节_ppt(老师发的修正版)

    Agile Web Development with Rails 1-14节_ppt(老师发的修正版)

    Agile Web Development with Rails, Third Edition 2009 (PDF + 代码)

    Agile Web Development with Rails, Third Edition by Sam Ruby, Dave Thomas, David Heinemeier Hansson Rails just keeps on changing. Rails 2, released in 2008, brings hundreds of improvements, including...

    Agile Web Development with Rails 2nd Edition源码

    《敏捷Web开发与Rails 2nd Edition》源码解析 在Web开发领域,Rails框架以其高效、灵活和生产力提升的特点,成为了许多开发者首选的工具。《敏捷Web开发与Rails 2nd Edition》这本书深入浅出地介绍了如何使用Ruby ...

    Agile Web Development with Rails (PDF)

    《敏捷Web开发与Rails》是一本深度探讨如何利用Ruby on Rails框架进行敏捷Web开发的指导书籍,由Dave Thomas、David Heinemeier Hansson等多位在Rails社区有着深厚贡献的作者共同编写。本书不仅覆盖了Rails的基本...

Global site tag (gtag.js) - Google Analytics