Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

2013-08-01から1ヶ月間の記事一覧

Ruby on Rails | 全て・有・無を扱うラジオボタンの検索を部品化する

概要 全て・有・無を扱うラジオボタンの検索を部品化する 詳細 全て・有・無を扱うラジオボタンの検索を部品化します。 フラグ系の項目に対して、true・false・その双方を検索するような 要件は多々あると思います。 べた書き版 scope ユーザーの権限と削除…

Ruby on Rails | 部分テンプレートに変数を引き渡す

概要 部分テンプレートに変数を引き渡す 詳細 部分テンプレートに変数を引き渡します。 部分テンプレートはその性質上、「ほとんど同じだが微妙に異なるレイアウト」であることが多く、 その差異を変数として渡したいシチュエーションが多いです。その場合、…

Ruby on Rails | scopeでModelに検索条件を定義

概要 scopeでModelに検索条件を定義 内容 scopeを利用して、Modelによく利用する検索条件を定義することができます。 scope(スコープ名, 条件式) scopeメソッドはチェーンして流れるようなインターフェースで利用することも可能です。 サンプル ユーザーの検…

Capybara | 検証対象のScopeをXPathで指定

概要 検証対象のScopeをXPathで指定 内容 検証対象のScopeをXPathで指定します。 例えばユーザー一覧をテーブル構造で出力している場合に各行のtrにユーザーIDの値を 付与していたとします。 任意の行の値のみ検証したい場合は以下のようにします。 admin_id…

メタプログラミングRuby | 魔術 | クラス拡張

概要 クラス拡張 内容 クラスの特異クラスにモジュールをインクルードして、クラスメソッドを定義する。 サンプル # encoding: utf-8 require "pp" class Hoge;end module Hageable def hage puts "hage" end end class << Hoge include Hageable end Hoge.h…

メタプログラミングRuby | 魔術 | ブランクスレート

概要 ブランクスレート 内容 ブランクスレート => blank slate => 白紙の意。 method_missingを利用したゴーストメソッドを実装する際などに 邪魔になる基底クラスのメソッドなどをすべて非定義の状態にすることで メソッド名の衝突を避ける手法。 サンプル …

Coffee Script | Class,クラスプロパティ,インスタンスプロパティ,クラスメソッド,インスタンスメソッドの定義

概要 Class,クラスプロパティ,インスタンスプロパティ,クラスメソッド,インスタンスメソッドの定義 詳細 Class,クラスプロパティ,インスタンスプロパティ,クラスメソッド,インスタンスメソッドの定義について。 サンプルCoffee Script class @Hoge @hage hig…

Coffee Script | ドキュメントが読み込み可能になったら処理する

概要 ドキュメントが読み込み可能になったら処理する 詳細 ドキュメントが読み込み可能になったら処理します。 JQueryの$(document).readyを利用します。JavaScriptでは $(document).ready(function() { // method contents }); のように定義しますが、Coffe…

Ruby on Rails | Viewで文字列をエスケープせずに出力

概要 Viewで文字列をエスケープせずに出力 内容 Viewで文字列をエスケープせずに出力します。 通常、Rubyの変数をViewで出力する場合Hamlなら =hoge のようにしますが、この場合デフォルトでHTMLタグ等がエスケープされています。 CMSを扱う際など、あえてHT…

Ruby on Rails | JQuery.dialogでカスタムダイアログの作成

概要 JQuery.dialogでカスタムダイアログの作成 内容 JQuery.dialogでカスタムダイアログの作成します。 サンプル 仕様 ユーザー一覧画面の各レコード単位で表示される削除ボタンの 押下時に使用するカスタム確認ダイアログを作成します。 個別のボタンを処…