Rails毎週暇(十):Tools


1. will_paginate
 
will_paginateは、「ページング」のクエリー機能と一部のページテンプレートを提供する非常に簡単なrailsプラグインです.
 
クエリー機能では、このプラグインの本質はrailsモデルオブジェクトのクエリー方法にいくつかの条件を追加することです.例えばpaginateメソッドはfindメソッドと見なすことができる上に増加した:pageと:per_Pageの2つのパラメータで、クエリーのページ数と1ページあたりのレコード数を示します.
 
組み立てられた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 

 
この例では、libディレクトリの下に定義されたinclude DataLoaderというmoduleを呼び出し、load_を呼び出す必要があります.dataメソッド.environmentという前置taskがなければincludeはload_data task実行時には,アプリケーション環境がなければload pathなどは知られない.
 
 
 
4. jmeter
 
jmeterは、ブラウザのリクエストをjmeterで録画するプロキシを設定できます.seleniumと組み合わせると、完璧です.