Rails

Rails用APサーバー比較

先日書いたようにRailsを動作させる環境をMongrelから他の環境に移してみようと考慮中。もう既にいくつか比較はあがっているみたいなので(パフォーマンス的にはどれでもどうぞという感じだろうか)、それぞれのソフトを触ってみて、またそれぞれのサイトを…

個人用メモ

最近すぐ忘れてしまうので、railsプロジェクトを作る最初の手順をメモしておく railsプロジェクトを作る #rails projectName or #rails _2.1.2_ projectName Rspecの準備 #cd projectName #ruby ./script/generate rspec これでRSpecが使える。あとはジェネ…

Railsの画面にQRコードを表示

QRコードを表示したいと想う事は何度かあったのだけれど、Rubyでいい感じのライブラリが見当たらなかったので、しばらく放置してた。久しぶりにRubyForgeを覗くとrqrcodeというすばらしいものがあるじゃないの。補足:QRの画像データを作成するバージョンも…

RSpecでHelperのテストするときのお約束

RailsのHelperのテストを書いたことが無かったので、ちょっと書いてみた。環境は以下の通り。 Ruby 1.8.7 P170 Rails 2.1.2 RSpec 1.2.4 rspec-rails 1.2.4 テストしたかったのはApplicationHelperの内部なのでspec/helpsers/application_helper_spec.rbを作…

ヘルパーの呼び出しルール(解決編)

全てのHelperがコールされている事が分かったので、共通のapp/controller/application.rbを調べてみた。するとここにヘルパーの呼び出しが合った。Rails2.0系からこうなったみたいだ。 class ApplicationController < ActionController::Base helper :all pr…

Helperメソッドの動作確認

どうもHelperメソッドの動きが分からないので、動作を確認してみた。確認した環境は以下の通り。 Ruby1.8.7 P160 Rails2.1.2 Rails2.2.2 Rails2.3.2 まずはサンプルプロジェクトを作成 #rails _2.1.2_ watcher #rails _2.2.2_ watcher2 #rails _2.3.2_ watch…

Helperメソッドの呼び出し

Rails2.1.2でアプリケーションを作っているんだけど,Helperでうまく行かない。UserコントローラとDirectコントローラ,Replyコントローラの3個があって、最初の2個がView表示時に共通で使うものは、helpers/application.rb内部に記述してある。Replyコント…

Windows端末だけでCapistranoを使う

仕事でRailsを使っていると、IDCセンター等にあるサーバーにDepolyしなくちゃいけないことがままある。こうした時従来と同じ手順書をつくってtarボールを転送して解凍して...としていたのだけど、効率が悪くて仕方が無い。開発環境にあるソース管理サーバー…

RailsをApacheとMongrel_clusterで動かす(上級編)

前回までの中級編で残っていた課題から静的ファイルの課題が解決できたので、メモ。静的ファイルをMongrelから返すのはいまいちなので、静的ファイルがhtdocs配下にあったら、Apacheから返して、無い場合にはMongrelから返す仕様にする。環境は以下の通り Ap…

データベースのセッションデータを削除する

Railsでセッションをデータベースに格納するのはよくある話と想うのだけど、これのきれいな掃除の仕方他が見当たらなかったので、ちょっとメモいつも通り環境はいかのとおり Rails2.1.2 Ruby1.8.6 P287 configに書いているSessionをDatabaseに格納する定義は…

RailsをApacheとMongrel_clusterで動かす(中級編その2)

mongrelを複数起動していても1つの画面にcss/javascript/images等静的なデータがある場合に、それら全てをmongrelに処理さすのは良い方法ではないと想う。というのはmongrel_clusterで起動できるmongrelの数は有限だし1つのmongrelプロセスが同時に処理でき…

RailsをApacheとMongrel_clusterで動かす(中級編)

前回試した設定だとルートにアクセスした時にしか動かないので、こんどはhttp://xxx/bbs/というurlにアクセスした時に動かす用に設定してみた。まずRailsアプリ側の起動ルートを変更する必要があるのでconfig/mogrel_cluster.ymlを修正する。ここにprefixの…

RailsをApacheとMongrel_clusterで動かす(初級編)

RailsをApache2.2配下で動かす案件が出てきたので、ちょっと試してみた。いくつか懸案はあるので、それは後で追試するとして、まずは動作までを確認。今回使った環境は以下の通り。 rails 2.2.2 mongrel 1.1.5 mongrel_cluster 1.0.5 Apache 2.2.11 Ruby 1.8…

Rails本対応バージョンとりまとめ

Railsで開発をするときアナログ人間なのでどうしても手元にある本を読むのだけれど、どのバージョンのRailsに対応しているか直ぐには分からない事が多い。手元にあるRails本がどのバージョンに対応しているか簡単な感想もつけてまとめてみた。 追記(09.03.28…

Rails2.2でwill_paginateを利用

1.2.6からしばらく使っていないうちに変わってしまったので、改めてメモ環境は、Ruby1.8.7 p72, Rails2.2.2, gem1.3.1で、手元のMacBookに入れてみた。まずは、gitに管理が移ってるようなのでgemの検索先を追加 #gem sources -a http://gems.github.com/つぎ…

PostgreSQLでフェイルオーバーを試してみる

PostgreSQLで主系と待機系の2つのDBをつくる必要が近々あるので、フェイルオーバーの環境をつくってテストしてみた。テストしたツールは以下の通り CentOS5 PostgreSQL8.3.4 pgpool2 2.1 Ruby-1.8.7 p72 Rails2.1.1 ruby-pg-0.7.9.2008.01.28 テスト環境と…

地図の貼り付け

地図を貼り付けるのにGoogleMapを使ったことはあったけど、もう少し他に使いやすいのが無いか探して、AtlasLabが良さそうだったので、これを調べてみた。建物とかを入力するときに住所は入力するのにさほど困らないので住所から変換してくれて地図を表示でき…

関連テーブルのレコード数をjoin以外で取ってくる

あるテーブルの一覧を表示するときに、そのテーブルと関連づけられているデータが何個あるのか同時に表示したくなったんだが、これでちょっとはまった。以下の条件での話 Rails1.2.6 Ruby1.8.6 P114 テーブル構造は以下の用になっている。 Table Table Table…

include指定時にdistinctを使う(検証中)

AR::findを使う時にdistinctを使うことはあったんだけど、includeオプションを一緒に使ったことが無かった。使ってみるとうまく使えないという話なのでテストしてみた game = Game.find(:all,:select=>"distinct name") => SELECT distinct name FROM games …

Passengerを入れてみる[解決編]

どうも腑に落ちないのでPassengerをひつこく調べてみると、この前のはやはり間違いであることがわかった。結局動作確認できたのは、以下の組み合わせ Ruby1.8.6 P114 Rails1.2.6 Rails2.0.2 Apache2.0.63 1.2系も2.0系も動作できた(同時も可)。いかに注意…

Passengerを入れてみる[失敗編]

Passenngerが簡単とよく聞くので本当かどうかチェックしてみる。チェックした対象は以下の通り Ruby1.8.6 P114 Rails1.2.6 Rails2.0.2 Apache2.0.63 例によってVMWare上にUbuntu8.0.4の環境を作っただけなので、不足分を入れて行くまずはApache #wget http:/…

Railsプロジェクトに必要なgemを入れる

仕事で今年本格的にRailsを使う気配があるんだが、1つの不安として「インターネットにつながってない環境でRailsをインストールするのって大変じゃないですか?」という話がでた。確かに普段は#gem install railsなんてやってるが、そうも行かない環境がある…

単一テーブル継承をテストするときの注意

Railsのテストで、ここしばらくはまっていた。というのも、継承関係にあるModelをテストしようとするとエラーがでて止まってしまうので、困っていた。たとえば、アジャイル本第2版の例にあるような「Personモデル でも、テストプログラムは以下のようにスケ…

Layoutファイルの言語

Rails1.2.6の話だが、layoutのappplication.rhtmlの中身が以下のようになっていた。 言語指定が英語になっているので、以下のように修正 意外に気がつきにくいので自戒を込めてメモ

認証機能確認

OpenIDが気になっていたので、それのサンプルを作ってみる。RailsにHatenaとLiveDoorの認証を組み込んだことがなかったので、そちらも併せて組み込んでみておく。この3つができればメジャーどころはかなりサポートできるとおもう。 OpenID対応をRailsに組み…