クラスのインスタンスの上にクエリの条件を追加してゆくスタイルをとる。導入で、例えば、次のようなメソッドが追加されている。導入にともなって増やされたメソッドにおいても、変数バインディングの機能が設けられているので、常にそれを用いることを推奨する。メソッド呼び出しは、見た目は異なっていても、相変わらずSQL文を操作しているのだという意識をもち、SQL注入脆弱性に用心する必要がある。記号にエスケープ処理を施した上で値を出力させることができる。メソッドの別名である。メソッドの適用がデフォルトになった。メソッドによるエスケープ処理が適用される。メソッドが導入された。このhメソッドによるエスケープ処理は多くの箇所で効果を発揮するものの、タグの属性値を出力する際値を必ず引用符で囲む("...")配慮が必要である。次の箇所では対策効果が無いかまたは弱く、出力値にさらなる制約を設ける必要がある。リクエスト強要(CSRF)対策の、フォームへのトークンの埋め込みとフォームデータを受信した際のトークンの照合が自動で行われる。等のメソッドで生成するフォームには、自動でリクエスト強要(CSRF)対策のトークンが自動で埋め込まれる。処理系がランダムな値を生成するよう変わっている。次のように、フォーム内にauthenticity_tokenという名前のトークンが埋め込まれる。トークンの自動照合コントローラクラスのビジネスロジックが呼び出される前に、リクエスト強要(CSRF)対策のトークンの照合が自動で行われる。照合が行われるのは次のようなHTTPリクエストの場合である。POSTで送信されるフォームデータに限られる。指令によって指定されたコントローラクラスとメソッドの範囲。デフォルトの保護対象は、すべてのコントローラクラスの全メソッド(ただしPOSTで呼ばれるもの)である。照合が行われ、トークンの値が適切でないと、ActionController::InvalidAuthenticityTokenという例外が発生し、当該HTTPリクエストの処理は中断される。いう機能を用いて実現されている。用いると、ビジネスロジックと、そのビジネスロジックの呼出をWebクライアントに許すか否かのセキュリティロジックとを分離して配置することが可能である。所定のセキュリティロジックを配置しておけば、プログラマはビジネスロジックの記述に集中することができ、また、ソースコードをシンプルに保つことができる。指令群を用いて入力値検査を指定することができる。DBテーブル中で重複しないこと。指令を使って記述できるようになった。継承クラスに記述する。検査は値がデータベースへの格納の前に行われる。データベースに格納されるデータの仕様への合致は確保できるが、「モデル」のどれかのクラスのフィールドを、データベースに格納する前に参照し、何らかの形で利用する場合、独自の入力検査ロジックを書く必要がある。機能とは、オブジェクトにマークをつけ、信頼できない入力値の伝播を追跡できる仕組みである。機能を用いたプラグインをつくることが可能である。いうものが存在している。本体には、ユーザ認証の仕組みは用意されていない。ユーザ認証のための複数のプラグインがサードパーティから提供されている。本体には、アクセス認可の仕組みは用意されていない。アクセス認可のための複数のプラグインがサードパーティから提供されている。未ログイン者からコンテンツを保護するしくみは、ユーザ認証プラグインがサポートしていることが多い。これは、「コントローラ」クラス群のビジネスロジックが呼び出される前に、何らかのフィルタ処理メソッドの呼び出すよう定義するものである。これを用いると、ビジネスロジックとアクセス認可のためのコードをきれいに分離して配置できる。ユーザ認証やアクセス認可のプラグインの多くは、これを利用している。Japan(IPA)。