JavaScript 配列 (Array) の反復的なメソッド
JavaScript1.6、 1.8 で追加された、配列 (Array) の反復メソッドについて。 filter 配列を、引数として渡された関数でフィルタリングして、結果が真(true)となる要素からなる配列を作る。 filter に渡される関数は、要素の値、インデックス、配列の3つの引数を取る。 function(val, index, array) 配列内の偶数要素からなる配列を作る例。 va…続きを読む
JavaScript1.6、 1.8 で追加された、配列 (Array) の反復メソッドについて。 filter 配列を、引数として渡された関数でフィルタリングして、結果が真(true)となる要素からなる配列を作る。 filter に渡される関数は、要素の値、インデックス、配列の3つの引数を取る。 function(val, index, array) 配列内の偶数要素からなる配列を作る例。 va…続きを読む
このクロージャの使い方を忘れてしまうのでメモしておく。 ループ処理の中でイベントを割り当てる場合に、ループカウンタが回り切ったものが適用されてしまう問題の解決方法。 デモ JavaScript コード /* クロージャを使わない場合(カウンタが回り切った値 3 が表示される) */ for (var i = 0; i < 3; i++) { $(‘#action1-‘+i).click(fu…続きを読む
いつ頃からか、MacPorts(Mac OSX Snow Leopard) からインストールして使用している Apache2 で、スタート時に以下のようなエラーメッセージが出るようになった。 $ sudo /opt/local/apache2/bin/apachectl start httpd: Could not reliably determine the server’s fully qua…続きを読む
Rails プロジェクトのディレクトリで以下のコマンドを実行すると、利用できる rake タスク一覧が表示される。 $ rake –tasks (in /home/hoge/rails_project) rake db:abort_if_pending_migrations # Raises an error if there are pending migrations rake db:cha…続きを読む
Rails でのユニットテストはモデルに対するテストのこと。 テストの雛形ファイルが generate コマンドによるモデル作成時(scaffold による生成時など)に作成される。 テスト用データベースの準備 テスト用のデータベースにスキーマを設定するために、開発用のデータベースのスキーマをコピーする。 $ rake db:test:prepare ユニットテストの実行 ruby の -I オプ…続きを読む
webkit 系のブラウザで、CSS Animation を利用して、hover 時にハイライトしてからアニメーションでフェードアウトさせる。 デモ(CSS でテーブルの行をハイライトしてからアニメーションで元の色に) .odd { background-color: rgb(230, 230, 240); } .even { background-color: rgb(240, 240, 220…続きを読む
コントローラのメソッドの respond_to ブロックに CSV フォーマットによるレンダリングを追加する。 respond_to do |format| format.html format.csv { render :csv => @data } end CSV 出力のビュー (index.csv.erb, show.csv.erb) を作成する。 <% require ‘csv…続きを読む
Ruby on Rails で多数の結果を分割して表示するページ送り(ページネーション)を行う方法のメモ。 以前の Rails では標準でページ送り機能が使えたようだが、Rails 2.0 以降はプラグインのインストールが必要になったらしい。 そこで、will_paginate というプラグインを使ってみる。 インストールは git から。 インストール後、プラグインを有効にするために WEBri…続きを読む
Ruby on Rails でアイテムをデータベースから削除する際に、そのアイテムのデータを利用している関連項目が存在するかを事前にチェックして、不用意に削除してしまわないようにする。 class ItemsController < ApplicationController before_filter :account_has_item?, :only => :destroy # 省…続きを読む
The :edit command 今まで、無意識に :e をタイプしていたれど、:edit コマンドの e だったんだ。 Vimcasts (vimcasts.org)