Rails

プリコンパイル済みのアセットを作成する

概要 Rails 3.1で新しいプロジェクトを作ったところ、本番環境でアセットがプリコンパイルされていないというエラーが発生しました。対策として、3.1から導入されたアセットパイプラインのために、プリコンパイル済みのアセットを作成しました。 ActionView:…

JavaScriptエンジンをインストールする

概要 Rails 3.1で新しいプロジェクトを作ったところ、本番環境でJavaScript runtimeが見つからないというエラーが発生しました。対策として、3.1から導入されたCoffeeScriptのために、JavaScriptエンジンをインストールしました。 Could not find a JavaScri…

Spork+Guardによる高速自動テスト

概要 テストの実行を高速化するSporkと、自動化するGuardを組み合わせて、快適なテスト駆動開発(TDD)環境を作ります。 構成 Ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0] Rails 3.1.0 RSpec 2.6.0 Spork 0.8.5 Guard 0.7.0 guard-sp…

デプロイと同時にbundle installを実行する

検証環境 Ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] Rails 3.0.10 Bundler version 1.0.18 Capistrano v2.8.0 準備 準備といってもやるべきことはひとつだけです。BundlerにはあらかじめCapistrano用のcapタスクが用意されているので、$RA…

RVM+Ruby 1.9.2+Rails 3.0.7+SandboxでTwitterもどきを作る

Mac OS X 10.6.6 RVM 1.2.8 Ruby 1.9.2 Rails 3.0.7 MySQL Sandbox 3.0.17 MySQL MySQL Community Server 5.5.10 Mac OS X ver. 10.6 (x86, 64-bit), Compressed TAR Archive Ruby 1.9.2のインストール $ rvm list known # MRI Rubies ... [ruby-]1.9.2-rc1 …

RailsでURLエンコードする方法

ERB::Utilを使う方法 >> ERB::Util.url_encode("http://www.foobar.jp/baz/?qux=123&quux=xyz") => "http%3A%2F%2Fwww.foobar.jp%2Fbaz%2F%3Fqux%3D123%26quux%3Dxyz" CGIを使う方法 # エンコード >> CGI.escape("http://www.foobar.jp/baz/?qux=123&quux=xy…

MySQL server has gone away

ステージング環境の挙動がおかしいので調べてみると、"MySQL server has gone away"というエラーが発生していました。どうやらクローズされたコネクション上でクエリを実行しようとすると、このエラーが発生するようです。もう少し詳しく調べてみました。 A.…

cache_fuプラグイン

インストール cache_fu*1プラグインはActiveRecordの結果をmemcachedにキャッシュしてくれるプラグインです。GitHubで公開されています。 ruby script/plugin install git://github.com/defunkt/cache_fu.git 使い方 サーバーの一覧を取得します。 >> CACHE.…

メッセージを委譲する

あるオブジェクトがメッセージを受け取った(メソッドが呼び出された)とき、実際の処理を他のオブジェクトに委ねることを“委譲(delegate)”と呼びます。RailsではModuleクラスのdelegateメソッド*1によって、委譲を簡単に実現することができます。 class B…

ルーティング

ルーティングの定義を一覧として表示します。 >> rs = ActionController::Routing::Routes >> puts rs.routesルーティングが受け取ったパスをどのように解析するかを表示します。 >> rs.recognize_path "/store"ルーティングが受け取ったパラメタからどのよ…

RSpec on Railsのインストール

RSpec on RailsはRuby on RailsでRSpecを使うためのプラグインです。GitHubで公開されています。 RSpecとRSpec on Railsはバージョンを合わせておかないとうまく動かないことがあるそうなので、ここでは明示的にバージョンを指定しています。 ※1.3.2は1.3.0…

RSpecのインストール

RSpecはRubyでテスト駆動開発を実践するための代表的なテスティングフレームワークです。GitHubで公開されています。 RSpecとRSpec on Railsはバージョンを合わせておかないとうまく動かないことがあるそうなので、ここでは明示的にバージョンを指定していま…

number_validationsプラグインのインストール

number_validationsプラグインは数値のバリデーションを拡張するプラグインです。acts_as_opensocialプラグインと同じmasarakki氏によって開発されており、GitHubで公開されています。 ruby script/plugin install http://github.com/masarakki/number_valid…

cache_fuプラグインのインストール

d:id:tetsuyai:20101114の記事にまとめました。

acts_as_opensocialプラグインのインストール

acts_as_opensocialプラグインはオープンソーシャルアプリケーションを開発するためのフレームワークです。職場の同僚であるmasarakki氏が開発しており、GitHubで公開されています。 ruby script/plugin install http://github.com/masarakki/acts_as_openso…

attachment_fuプラグインのインストール

attachment_fuプラグインはファイルをアップロードするときに使う代表的なプラグインです。いまはGitHubで公開されています。 ruby script/plugin install git://github.com/technoweenie/attachment_fu.git

Railsアプリケーションの実行環境を構築する

環境 CentOS 5.5 Apache 2.2.3 Phusion Passenger 2.2.15 MySQL 5.0.77 Ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux] Rails 2.3.8 RubyGems 1.3.7 Rubyのインストール RubyとRubyGemsはソースコードから最新版をインストールするので、yumでイン…

認証プラグイン restful-authentication

定番の認証プラグイン restful-authenticationを触ってみました。restful-authenticationはgithubでメンテナンスされています。まず、インストールします。 ruby script/plugin install git://github.com/technoweenie/restful-authentication.git