Ruby on Rails 3 Tips

RailsからMySQLのテーブルを作成するには

Railsのマイグレート機能には、カラム属性としてbinaryがあるのですが、これを指定してもMySQL上ではBLOBというカラム属性になります。

構文としては
create_table :user_photos do |t|
  t.string :name
  t.binary :photo_image
end
もっと大容量のLONGBLOBが欲しい!

という時 ...

Ruby on Rails メモ

Ruby on Railsの本番実行環境として定着したpassengerです。

では、インストールをしてみます。

まず、passengerをインストールするために必要なモジュール

Ruby

基本中の基本

rubygems

gemでインストールするので、こちらも基本

あとは、以下のライブラリ群が必要になります。

GNU C++ compiler
Curl development headers w ...

Ruby on Rails 3 Tips, Ruby on Rails メモ

Railsで…

ホスト名(gendosu.jpという感じ)を得る

ホスト名:ポート番号(gendosu.jp:80という感じ)を得る

Ruby on Rails 3 Tips, Ruby on Rails メモ

Rails 2.*系のプロジェクトで、rakeコマンドをたたくと、

というエラーが発生することがある。

このエラーは rake のバージョンが新しすぎるのが原因。

基本的にRails3.0.5より前のRailsでは、rakeのバージョンは0.8.7を使う。

新しいrakeが入っている場合

と実行すればよい

Ruby on Rails 3 プラグイン

MySQLのマスタースレーブ構成にRailsからアクセス出来るようにするプラグイン

Ruby on Rails 3 Tips

uninitialized constant Rake::DSLの対処

Ruby on Rails 3 Tips

Aptana Studio 3 にしたところ、Ruby on Railsの表示にテーマが適用されるようになった。

これはこれで、背景が黒でかっこいいのだが、SVNのベースリビジョンとの比較をかけたりすると、すべて真っ黒で良く見えない。

簡単に行くなら、テーマを変えるのがいいが、せっかくなので、Aptana Studio 3 のテーマのままでなんとかしたい。

ま、背景黒というのは諦めて、白くする

白くすると、キーワードなどが色が薄すぎて見えない ...

Ruby on Rails 3 プラグイン

carrierwaveは、ファイルアップロード用のプラグインで、attachment_fuと同じようなやつ。

インストール

Gemfileに

を追加

carrierwave用のファイルをジェネレータで作成する

以上のコマンドを実行すると

app/uploaders/image_uploader.rb

ファイルが作成される

モデルの作成

出来上がったマイグレーションフ ...

Ruby on Rails 3 Tips

ImageMagickのをソースからインストール
※/usr/localに入るので、rootで実行

/usr/local/libをライブラリ登録

/etc/ld.so.conf.dに
ImageMagick.confファイルを作成
ファイルの中に

/usr/local/lib

を記入
ldconfigを実行

rmagickのインストール

Ruby on Rails 3 Tips

コントローラで rescue_from を指定することで、そのコントローラで例外が発生したときなどに実行する処理を指定することが出来る。

Ruby on Rails 3 Tips

Rails3の日本語化をする

#config/application.rbファイルの編集

このファイルに日本語で動くことを指定する設定を追加する

#config/localesディレクトリにjp.ymlファイルを設置
jp.ymlファイルの中身は

Ruby on Rails 3 Tips

rails3のプロジェクトを作成し、起動時に

という感じでプロダクションモードで起動したときに、なぜかpublic配下のファイルがすべてNot Foundになってしまう。

これは、config/environments/production.rb ファイルの中の

config.serve_static_assetsという設定があるのだが、これをtrueに設定してやることで、表示できるようになる。

ちなみに、サーバに配置してpasseng ...

Ruby on Rails 3 Tips

代々、Railsでの日本語メールはパッチを当てるか処理を書かないと、普段日本で流通しているメールの形式にはならない。

ようするに、エンコーディングが違うのである。

RailsでActiveMailを使って普通に送信すると、エンコーディングをUTF-8で送信してしまう。

ThunderBirdとかGMailとかだと、その辺を勝手に解釈して正常に表示されてしまうが

日本にはいまだにエンコードがUTF-8では正しく表示されないメーラーがあったりする ...

Ruby on Rails 3 Tips

AdminUserなんていうクラスがあるとして、

admin_user

という文字列を欲しい時に

という感じで使う

逆にしたい場合は

Ruby on Rails 3 Tips

複数形で書かれた英語表記の文字列を単数形に変換したい場合、または

単数形を複数形に変換した場合に使用する。

userという文字列がある場合

となる

Ruby on Rails 3 プラグイン

ホームページ

github

まだタグでv3.0.0正式対応のものがないようなので、preを使う

インストール

Gemfileに

を追加して

実行

使い方

一覧表示アクションの中で、一覧取得の処理を変更

1ページに表示されるデータの件数を設定

Articleモデルに

を追加

ページ切り替えのリンクをビューに追加

articles/index. ...

Ruby on Rails 3 プラグイン

デファクトスタンダードな、Railsのテストツール

ホームページ

公式

まだタグでv3.0.0正式対応のものがないようなので、bataを使う

インストール

Gemfileに

を追加して

実行

rspec用タスクを生成

使い方テスト対象のファイルをとりあえず追加

scaffoldで作成したファイルに対してrspecのファイルを作成

マイグレーション実行

Ruby on Rails 3 プラグイン

fixtureの代替となるツール

ホームページ

Github

インストール

Gemfileに

を追加して

実行

使い方定義
specフォルダの下にfactoriesフォルダを作成
このフォルダの中にrbファイルを作成し、そこにデータのひな形を作成する
#spec/factories/users.rb 

ひな形を元にデータを作成

連番の付いたデータを作成
ま ...

Ruby on Rails 3 プラグイン

DeviseはWardenに基づくRailsのフレキシブルな認証プラグインです。
特徴は

Rackベース
Railsエンジンに基づく完全なMVC
複数ロール(複数テーブル)が可能
モジュール方式概念に基づいている
ホームページGithub
インストール

Gemfileに

を追加して

実行

使い方deviseを使用するために必要な最低限のファイルをインストールするモデルを作成するマイグレーション実行Ho ...

Ruby on Rails 3 プラグイン

認証処理
openIDとかLDAPとかと連携して認証するためのプラグインが存在する

ホームページ

Github

Rails 3 に対応していないようなので、フォークの中からRails 3 対応中の物を探す
新しい物が良いな~と言うことで、

あたりが良いか?
だが、安定して使える物を探す必要はある。
オリジナルがRails 3 に対応すれば、それを使いたい。

インストール

Gemfileに

を ...