rails

date_select

ヘルパーメソッド date_select 使い方例:date_select("user", "birthday", :order => [:month, :day]) オブジェクト名・メソッド名・オプション ActionView::Helpers::DateHelper def date_select(object_name, method, options = {}) InstanceTag.new(obje…

めも

capistrano情報を探したのでめもる。 CapistranoMongrel Cluster and Monit デプロイツールで RubyCapistranoを使ってMongrelのプロセスを操作する Spinner,Spawner,ReaperRailsのFastCGI運営時でのrestert,reloadの方法10分でできるSwitchtower

mongrel clusterを再起動させたい

capistranoは標準でfcgiサーバーの再起動ができるようになってるようで mongrel clusterを使っているウチの環境ではどうしたらいいのかなーと思ってたら config/deploy.rbに以下を追記すればよいようです desc "Restart mongrel cluster" task :restart, :ro…

capistranoやってみる 追記の追記

deploy実行するユーザーがsudo使えないとダメっぽい そんなことなかったです。=> sudo を使わない設定 まちゅダイアリーさんに感謝。

capistranoやってみる 追記

deploy実行するユーザーがsudo使えないとダメっぽい

capistranoやってみる

Subversionのバージョンは1.4.3 capistranoをインストール $ gem install capistrano Railsアプリをcapistranoに対応させる $ cap --apply-to /path/to/project deploy情報を設定 /path/to/project/config/deploy.rbを編集 前準備 $ rake remote:setup deplo…

自動リロードで『Bad file descriptor - connect(2)』が出る

自動リロード自体はうまくいってるんだけど、コマンドプロンプトに『Bad file descriptor - connect(2)』って出てきてキモい。 set http_proxy=http://reload.rbを実行するマシンのIPアドレス:ポートしてから、reload.rbを実行すると出なくなった。

『[http://lowreal.net/logs/2006/07/31/1:title=自動リロードで開発をアジャイルにするたった一つの方法!]』ができた

/usr/bin/GETが使えるようになったので、遠隔オートリロードができるようになりました。 でもちょっと遅いな・・ こっちのほうがいいのかなー。 特徴としては、保存のタイミングをフックできないエディタでも動く(定期的にファイルの更新時刻をチェックして…

結局、URLのコントローラー部が間違ってたとき

500エラーが出るようにフレームワークでなってしまってるから、404を出したいなら dispatcher.rbのfailsafe_responseを書き換えてしまうのはアリなのかナシなのか。 # If the block raises, send status code as a last-ditch response. def failsafe_respon…

rescue_action_in_public

ああー、rescue_action_in_publicの呼び出し元のrescue_actionは、actionのエラーを拾うだけなんダナ。そもそもcontrollerがみつからなかったらここまでとどかないのは仕様ですか。。

404エラーの出方を知りたい

いちおう、以下のナイヨウはproductionモードの話。 コントローラーが存在してアクションがないURLの場合、404エラーになる コントローラーがないURLの場合は500エラーになる コントローラーがない場合、ActionController::RoutingErrorがraiseされる。 コン…

apache2.2 + mongrel cluster

apache2.2のmod_proxy_balancerを使ってmongrel clusterにリクエストを割り振るようなものをセットアップしてみました。 かなりすんなりいけた。というのは、こちらがとても親切に説明していてくれたからです。多謝。 Apache 2.2.0 のロードバランス機能(mod…

半角文字を全角文字に変換する

UTF-8環境で半角文字を全角文字に変換するものを書いてみました。 module StringUtil def self.append_features(klass) super klass.class_eval do klass.extend ClassMethods end end module ClassMethods def han2zen(text, nonkana = true) require "jcod…

なるほど。require_gemってそういうことなんだ。しらなかった。

ruby-debug

なんか大事な前提を見過ごしてる気がするけど、ここに書いてある方法でruby-debugを試すことができなかった。 で動かす方法を調べてみた。 ruby-debugのインストール gem install ruby-debug 初期設定 development.rbの最後に require 'ruby-debug' …

DATE/TIMESTAMPのカラムのscaffoldでViewが作られない

DBはOracleなんですけど、テーブルこれでつくりました class Cars < ActiveRecord::Migration def self.up create_table :cars do |t| t.column :name, :string t.column :maker_id, :number t.column :arrived_at, :datetime t.column :created_at, :timest…

SpecialGenerationプラグイン

モデルクラスを先に作っとかないと script/generate special モデル名できない。

script/xxxx

script/about bird:# script/about About your application&#39;s environment Ruby version 1.8.4 (i386-linux) RubyGems version 0.9.0 Rails version 1.1.6 Active Record version 1.14.4 Action Pack version 1.12.5 Action Web Service version 1.1.6 A…

DATE型のカラムを検索する

OracleのDATE型 >> member = Member.find(10000) "id" "members" => #<Member:0xb339510c @attributes={"name"=>"maiha", "arrived_at"=>#<Date: 4903089/2,0,2299161>, "id"=>10000, "presence"=>2, "created_at"=>#<Date: 4903089/2,0,2299161>}> >> member.arrived_at NoMethodError: private method `gsub!&#39; called f…</date:></date:></member:0xb339510c>

共通処理

モデル・・・ActiveRecord::Observerを継承したクラスに書く コントローラー・・・ApplicationControllerに書く ビュー・・・パーシャルとかApplicationHelperとか

LoginEngineプラグイン

script/plugin install login_enginelink_to_remoteで呼び出したアクションのbefore_filterに引っかかると なにも応答がなくなる・・

visual_effect

<%= javascript_include_tag "effects" %>

after_filter

after_filterメソッドでrender書くとDoubleRenderError after_filterメソッドでメインメソッドで生成したインスタンスを操作できない メインメソッドで例外が発生してもrescueすればafter_filterメソッドが実行される 間違えてるかも。

visual_effect

? エラーになってしまう。

RailsTidy

XHTMLの構造をチェックしてくれるというRailsのプラグイン「RailsTidy」を入れてみました。 http://blog.cosinux.org/pages/rails-tidy プラグインがおいてあるところをsourceで加える # script/plugin source http://www.cosinux.org/~dam/projects/rails-t…

ActiveRecordでOracleにつなぐ

ふーふー。やっとつながった。。 かなりめんどくさかった。 OracleClientをOUIで入れるのに失敗したのが痛かった。 ActiveRecordでOracleにつなぐには ruby-ociのインストールが前提。 http://rubyforge.org/frs/?group_id=256&release_id=6553 が、ruby-oci…

DoubleRenderErrorよ

コントローラーのメソッドはこんな感じで def page2 render :template => "top/index" render :text => "hoge" rescue ActionController::DoubleRenderError redirect_to :controller=>"error", :action=>"index", :type=>"page" endpage2にアクセスしたらNa…

楽観的排他制御

http://api.rubyonrails.com/classes/ActiveRecord/Locking.htmllock_versionってカラムがテーブルになくても set_locking_column で設定できる。

テスト

Railsでデバッグをする7つの方法 http://rails.office.drecom.jp/takiuchi/archive/115RailsのテストでRed Green Yellow http://rails.office.drecom.jp/takiuchi/archive/92ZenTestのautotestがとても快適 http://rails.office.drecom.jp/takiuchi/archive…

楽観的排他制御

ActiveRecordで楽観的排他制御ってどー寸の可なーと思って調べたら。 テーブルにlock_versionってカラムがあるだけでOKらしい。 エラー発生時にStaleObjectError例外を吐くらしい。 rescueで受け取ってなんらか処理を定義できるらしい。 AR1.4で追加されたら…