akishin999の日記

調べた事などを書いて行きます。

Rails

Migration ファイル生成時にカラムサイズやインデックス生成を指定できる

Rails の generator でマイグレーションファイルを生成する時に、カラムのサイズやインデックス追加を指定する事が出来るんですね。 恥ずかしながら今日まで知りませんでした。例えば以下のような感じで生成すると % bundle exec rails g scaffold note titl…

Ruby から Sentry を使う

前回インストールした Sentry に Ruby からイベントを登録してみます。 Ruby から Sentry を使うには、プロジェクトの設定画面の Ruby のところにも書いてあるように sentry-raven という gem を使います。getsentry/raven-ruby https://github.com/getsentr…

FakeFS でファイルアクセスをテストする

ファイルシステムの操作に関連するクラスのモックオブジェクトを提供するライブラリ「FakeFS」を使ってみたので、使い方をメモしておきます。defunkt/fakefs https://github.com/defunkt/fakefs インストール % gem install fakefs --no-rdoc --no-ri Rails …

Capistrano でローカルに置いてあるアプリケーションをデプロイ

Rails アプリケーション開発中に、ローカル環境で Passenger + production モードの確認を簡単に出来るようにしたかった事もあり、試しに Capistrano でデプロイできるようにしてみました。Apache、Ruby、Passenger 辺りはインストール・設定済みとします。 …

Rails で ReadOnly なデータベースを扱う場合のいろいろ

Rails で書き込みをしたくない参照専用の DB を扱った際に、間違えて更新してしまわないために変更した箇所を備忘録代わりにメモ。 バージョンは 3.2.13 です。 ActiveRecord 使っているのは Rails 3 なんですが、なんとなく Rails 4 の concerns っぽくして…

Ruby 2.0 で Passenger を動かしてみた

Ruby 2.0.0-p0 がリリースされましたね。 ということで、早速インストールして Passenger で Rails の簡単なサンプルアプリを動かすところまでやってみました。環境は CentOS 6.3 x86_64 です。 準備 まずは必要なパッケージをインストールします。 README …

restful-authentication から sorcery に乗り換える

今更といえば今更なのですが、Rails 2.x で作ったアプリケーションを Rails 3.2 に移行しました。ただ、該当アプリケーションでは認証プラグインとして restful-authentication を採用していたため、そのままでは 3.2 で動かす事はできません。 単純に Devis…

Gistub をインストールしてみた

このところ「インストールしてみた」的な事ばかり書いていて、あまり深く突っ込んでない感じがなんだか情けないと自分でも思いますが、懲りずに今回もインストールしてみた系です。今回は こちら の記事で紹介されていた、Rails 製のオープンソースの Gist …

Pivotal Tracker クローン「Fulcrum」をインストールしてみる

オープンソースの Rails製 Pivotal Tracker クローン「Fulcrum」をインストールしてみました。 インストールした環境は以下です。 CentOS 6.3 64bit Ruby 1.9.3p327 MySQL 5.1.66 fulcrum のセットアップ まずは必要なライブラリをインストール。 # yum inst…

I18n のバックエンドにデータベースを使用する

Rails 3.2.7 で I18n のバックエンドに RDBMS を使う、というのを試してみました。 i18n-active_record という gem を使うようです。まずはお試し用のプロジェクトを作成します。 RDBMS には MySQL を選択しました。 $ rails new i18n_backend_example -d my…

tmail-1.2.7 で Encoding::CompatibilityError

Ruby 1.9.3 で Rails 2.3.12 アプリケーションを動かしてみたところ、iso-2022-jp でメールを送信している箇所で以下のようなエラーが発生しました。 incompatible encoding regexp match (ASCII-8BIT regexp with ISO-2022-JP string) /var/rails_apps/exam…

Ruby 1.9.3 & Passenger 3.0.9 で「Unexpected end-of-file detected」

自宅サーバのRuby を 1.9.3 にアップデートした途端、以下のようなエラーが出るようになりました。アプリケーション側の対応が必要なのかな?とも思ったのですが、Apache の error_log を調べてみるとどうやら Passenger 側の不具合のようです。 ruby 1.9.3p…

Rails3 で acts_as_tritonn

Rails2 + Tritonn の時には結構お世話になっていた acts_as_tritonn を Rails3 で使ってみました。 インストール $ rails new tritonn_example -d mysql $ cd tritonn_example $ rails plugin install git://github.com/ryu00026/acts_as_tritonn.git 使って…

Windows の Rails 開発で ctags を使う

Java + Eclipse での開発から Ruby(Rails) + gvim での開発に移った時に困ったのが、Eclipse の強力なリファクタリングとソースコードブラウザとしての機能の代替をどうするか、でした。 リファクタリングの方は今のところこれだというツールが見つかってい…

Rails アプリケーションで captcha を使う

Rails アプリで captcha を使いたかったので、github で公開されている captcha というプラグインを使ってみました。 zendesk's captcha at master - GitHub http://github.com/zendesk/captcha インストール インストールするには事前に Git と RMagick の…

構築済みの Rails 2.x 系アプリに脆弱性パッチを適用する

Rails 2系すべてのブランチに脆弱性、Ruby 1.9ユーザはアップグレード注意 http://journal.mycom.co.jp/news/2009/09/07/048/index.html 先日のこの脆弱性のパッチを適用しました。 Windows だと以下の方法でパッチをあてる事ができます。 まずは Git をイン…

Rails 2.2.2 の submit_tag で disable_with と confirm を同時に指定すると confirm が効かない

Rails の submit_tag には submit ボタンクリック時にボタンを disable にして二重送信を防止する disable_with オプションがあります。 '送信中です...' %> ところが、Rails 2.2.2 では生成される JavaScript の不具合で、IE では上手く動作してくれません(…

Rails でのバッチ処理内でログを出力する方法

以前書いた Rails でのバッチ処理(http://d.hatena.ne.jp/akishin999/20090723/1248336501)内で、通常の Rails アプリと同じファイル(development.log、production.log)にログを出力する為に以下のようにしています。 module Foo class Bar # Rails の Logge…

Rails でバッチ処理

色々な方法があるみたいですが、Rails の仕組みをそのまま利用できるので、以下のような構成に落ち着きました。 まず、バッチスクリプトを配置するためのディレクトリ(ここでは #{RAILS_ROOT}/app/batches )を作成します。 ディレクトリ構造 exampleapp ├─ap…

Flash の画面をキャプチャして Rails で保存する

久しぶりに FlashDevelop をインストールして ActionScript で遊んでみました。 作ったのは簡単なペイントツールで、描いた絵をサーバ側の Rails で保存するというもの。 調べてみると ActionScript で画面をファイルとして保存するには BitmapData に画面の…

Windows の gvim で起動時に最大化

「_gvimrc」内に以下を記述すると gvim が最大化して起動する。 au GUIEnter * simalt ~x Windows + InstantRails + gvim Windows での Rails 開発環境は、お手軽に構築できる InstantRails を使ってるんだけど、gvim を使う場合は InstantRails の Console …