Rails每周闲碎(十): Tools

1. will_paginate

 

   will_paginate 是一个非常简单易用的rails插件,它提供了“分页”的查询功能和一些页面模板。

 

   在查询功能上,这个插件的本质是在rails模型对象的查询方法上增加了一些条件。比如paginate方法可以看成是find方法的基础上增加了:page和:per_page两个参数,来告诉查询页数和每页的记录数量。

 

   组装成的sql语句大概如下:

 

SELECT TOP 50 FROM (SELECT ROW_NUMBER() OVER ( ORDER BY id ) AS row_num) AS t 
WHERE row_num > 1000

#SQL Server版本
#其中的50是:per_page, 1000是由:page计算而得。

 

   而在页面方面,will_paginate也提供了一些模板和view的helper方法,使页面的实现非常简单:

 

 

<%= will_paginate @posts %>

 

2. ActionMailer

 

    ActionMailer 让你通过一个model和view就能建立起email。

 

    需要注意的几点:

 

    a. 在view中的url:用url_for等方法生成url,需要指定host。Mailer的view跟一般的view不同,不是通过请求生成的,所以无法从request中获取host。

 

    b. content_type:我们可以指定邮件的content type,如果没有指定,则其由view的文件名决定。比如signup_notification.text.html.erb说明邮件的content type是“text/html”。

 

    c. smtp server: smtp配置的设定,ActionMailer::Base. smtp_settings。

 

 

 

3. rake task: environment

 

   Rake task是独立于环境而执行的,除非这个task有个前置task是:environment。

 

task :load_data => :environment do
   include DataLoader
   load_data
end 

 

    在上面这个例子中,我们需要include DataLoader这个module(定义在lib目录下),并调用它的load_data方法。如果没有environment这个前置task,那 么include就会失败,因为当load_data task执行时,并没有应用环境,那么就不会知道load path等。

 

 

 

4. jmeter

 

    jmeter可以设置代理,让浏览器的请求都通过jmeter,以此来录制浏览器的request。结合selenium,简直完美。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值