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

本文介绍了如何在Rails应用中创建一个名为Store的控制器,该控制器负责产品分类及展示分类后的产品列表。文章详细展示了创建Controller的过程,包括生成Controller文件、实现产品查询逻辑以及视图的展示效果。
按照书上的引导,我们现在该是增加一个新的Controller的时候了。这个Controller用于将产品归类,并产生归类后的产品列表页面。它的名字叫store。
现在我们创建这个Controller:
[quote]ruby script/generate controller store index[/quote]
执行这个命令之后,我们需要的关于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列表的实际样子了。
下图就是实际的显示效果图。不管怎么说,看起来还不错。 :D
[img]http://dl.iteye.com/upload/attachment/236335/9df7df99-deeb-3500-abd1-0f4e34fc7eb4.jpg[/img]
【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值