Rails

Rails勉強会@東北

今日は初心者が多いということで、初心者向けのセッションを中心としました。 Railsのすごいところ Railsの運用 レガシー環境とRails フライトの杉山さんによるRuby Business Commonsについて 以上のセッションとなりました。 xibbarのセッションは急遽カッ…

開発合宿

以前からやってみたいと思っている開発合宿。 http://webservice.nifty.com/camp/ こんな感じでやっているところもあるようです。 先日、仙台のid:yuichi_katahiraさんとやってみたいねーなんて話をしていました。 名付けて「ruby's boot camp !」 やる気あ…

シンプルなmongrelの起動スクリプト

停電などでリブートした時にmongrelが自動的に立ち上がって欲しいので、 自動起動スクリプトを作ってみました。 #!/bin/bash # USER=enquete RAILS_DIR=/home/enquete/koho_questionnaire COMMAND=/var/lib/gems/1.8/bin/mongrel_rails export RAILS_ENV=pro…

第二回Rails勉強会@東北に行ってきました

AWS 私はやったことがなかったんですが、 すごく簡単にウェブサービスを立ち上げることができるというのがわかりました。 機会があったらやってみます。 acts_as_XXX 自分のセッションです。便利を体感してもらえたでしょうか。 AJAX なんか調べごとに夢中で…

資料をアップしました

今回の第2回Rails勉強会@東北の発表資料をアップしておきました。 http://xibbar.net/acts_as.pdf

railsコマンドで生成されるconfig/database.ymlのadaptorを変更する

rails some_projectとすると、some_projectというディレクトリができ、railsのファイル一式が生成されます。 この時にconfig/database.ymlが生成されますが、 デフォルトのDBアダプタはmysqlになっています。 私はmysqlはほとんど使わないので、デフォルトは…

本譲ります

RailsによるアジャイルWebアプリケーション開発 を手に入れたいのにもう売っていないとのこと。 私、3冊あります。本当に欲しいなら、 定価以上で 送料および振込手数料を負担 していただけるなら、そのうち2冊を手放すつもりあります。 2冊ありますので…

有効なユーザーだけをfindするメソッドfind_activeを定義してみる

モデルが以下のようになっていて、削除フラグと未表示フラグの2つがあるとします。 class CreateUsers < ActiveRecord::Migration def self.up create_table "users", :force => true do |t| t.column :login, :string t.column :email, :string t.column :…

LL魂ののチケット譲ります

http://ll.jus.or.jp/2007/ のLightweight Language Spilitチケットを譲ります。 行く予定だったのですが、都合がつかなくなってしまいました。 行きたいけど、チケット買い忘れた人がいましたら、譲ります。

rdocを調べてみた

ちょっとだけrdocを調べてみたのですが、 これって書いたソースから文章を抽出して ドキュメントを作る最良の方法ではないでしょうか。 これをつかってソースコードにコメントを埋め込むと、 引き継いだ人なんかは分かり安いことこの上ないです。 rdoc app l…

Rails勉強会@東北のロゴ

例によって勝手に作りました。 というか、社員に作ってもらいました。 Ruby色じゃないという突っ込みが入りそうですが、 東北のイメージは緑なんです。(独断。しかも新幹線の色が緑だという理由で。)

Rails東北1の懇親会

大分id:yuichi_katahiraさんを煽ってしまったようですみませんでした。 独立は簡単ではないです。はい。<ー家内にも煽ったことを怒られました。 それでも大いなる気持ちで大海に飛び込んだときは、同士を歓迎します。 思えば5年前、起業するときに、相談に…

第1回Rails勉強会@東北レポート

だいぶブログに書くのが遅れました。 レポートは他の方がたくさん書いているので、私は感想だけで失礼します。 テーマがテストということで、最初のセッションを担当しました。 手を動かしながらやりたいよねと前回話に上がっていたので、 ほとんど準備をせ…

Rails勉強会@東北第1回のお知らせ

今週末の6月23日(土)に、仙台でRails勉強会@東北第1回を行います。参加を希望される方は 、Wikiの参加募集からエントリをお願いします。 http://wiki.fdiary.net/rails/?RailsMeetingTohoku-0001 また、開催概要についても上記Wikiをご参照下さい。参加をお…

本当にActiveHeartは過去のものなのか?

id:moroさんとid:secondlifeさんがActiveHeartはもうobsoleteだと言っています。 http://d.hatena.ne.jp/moro/20070615/1181876061 http://d.hatena.ne.jp/secondlife/20070615/1181894089#c 本当にそうでしょうか? 私はまだ現役だと思います。 国際化する…

文字列のリンク化などはモデルでやるべきだ

いちいちメソッドで呼ぶのではなく、モデルでやったほうが 美しい場合もあります。 require 'uri' class Schedule < ActiveRecord::Base belongs_to :user belongs_to :group validates_presence_of :user_id validates_presence_of :scheduled_date validat…

URLを自動判別して、Aタグのリンクにするメソッド

文字列にURLが含まれていた場合、自動的にリンクにしたいですよね。 require 'uri' def url2link_of_string(html_string,options={}) target=options[:target] || '_blank' URI.extract(html_string).each{|url| html_string.gsub!(url,"<a href='#{url}' target='#{target}'>#{url}</a>") } html_str…

jpmobileでブラウザでも強制的に携帯のビューにしたい

jpmobileは便利なプラグインですが、開発で不便なときがあります。 携帯のビューをブラウザで見たいときに UserAgentSwitcherでも使うとたしかに携帯のビューを得られます。 しかし、私はタブで通常のブラウザのビューと携帯のビューを切替えてみたいのです…

第ゼロ回Rails東北ミーティング

id:yuichi_katahiraさんの呼び掛けで 第ゼロ回のRails東北のミーティングが開催されました。 場所 http://www.esu.ne.jp/doit/annai/annai.htm 駅から20分ぐらい歩きますが、ネットが使えて、 1時間800円で20人ぐらい入れるというのはいい! 人数 集まった人…

続~(チルダ)が%7Eでリクエストされると表示できない

以前にチルダが入っていると特定のブラウザ(AUのW44Tでテスト)では ~を%7Eに自動変換してしまう問題を取り上げましたが、 このパッチをプラグインにしました。 この問題は例えば http://foo/~bar をリクエストしたときに、ブラウザによっては、勝手に チル…

Postgresqlのセッションが切れた場合に自動的に再接続するパッチ

Railsでmongrelとかfastcgiとか使っているアプリで postgresqlのセッションが切れてしまった場合は、1回目は例外が発生します。 その場合に例外を捕捉して、自動的にリトライをしてくれるようにするパッチを プラグインにしました。 これをインストールする…

画像を携帯電話の画面サイズにあわせて表示する

まず、jpmobileプラグインを入れておきます。 ./script/plugin install svn://rubyforge.org/var/svn/jpmobile/trunk/jpmobileまた、サイズの変更をrmagickで行いますので、 gemでrmagickをいれておきます。 sargeでは apt-get install libmagick6-devが必要…

モデルにデータとして入っている画像を表示する

モデルが create_table "photos", :force => true do |t| t.column "mimetype", :string t.column "data", :binary end だとして、mimetypeにcontent_type、dataに画像の中身そのものを入れておきます。 class BbsController < ApplicationController def sh…

~(チルダ)が%7Eでリクエストされると表示できない

http://foo.bar/~aaa/ このようなURLの場合、通常はこれでリクエストされますが、 私が持っているAUのW44Tは~を%7Eに自動的に変換します。 そうすると、リクエストとURLが異なってしまいます。 そのため、ルーティングがおかしくなり、 404エラーが発生しま…

httpsからmongrelにReverseProxyする

apache2をフロントエンドにして、mongrelをバックエンドにする場合、 通常の場合はいいのですが、httpsをフロントエンドにして、 バックエンドがhttpの場合は相対パスはいいのですが、 redirectなどをすると、httpsのはずの部分がhttpに書き換わってしまい、…

SargeのRubyを1.8.5にする

railsでmongrelを立ち上げたい場合、 rubyは1.8.5じゃないと動かないです。 なのでbackporsから持ってくる必要があります。 /etc/apt/sources.listにbackportsを追加 deb http://backports.mithril-linux.org sarge-backports main contrib non-free deb-src…

rubygemsもdebianパッケージで管理する

よく本にはrubygemsを展開してコンパイルしてインストールしてくださいと 書いているのですが、私はdebianパッケージ以外はインストールしたくないので、 探していたら、rubygemsがbackportsにありました。 まず、/etc/apt/sources.listに deb http://backpo…

send_fileとかでファイルをダウンロードさせるとcontent typeが変だ

applicationコントローラの中で、set_charsetフィルタを 定義している人は上書きされています。 名前は違っても、同じようなことをしている人は多いかと思います。 def set_charset headers['content-type']="text/html;charset-utf-8" unless request.xhr? …

1台のマシンに異なるバージョンのRailsアプリを走らせる

まず、gemで必要なものをインストールします。 Aアプリ(Rails-1.1.6+gettext-1.8.0) Bアプリ(Rails-1.2.2+gettext-1.9.0) こういう場合、gemでrailsやgettextを入れても 新しいのを呼び出そうとしてうまく動きません。 こういう場合はそれぞれ rake rail…

ページの表示と同時にAjaxを呼びたい

まるごとAjaxなページを作る場合に 処理を全部Ajaxで呼ばれるコントローラに追い出したくなります。 例えばスケジューラを作っているとすると、 一覧の表示はAjaxで行うとかです。 そういう場合はAjaxをページの表示と同時に 呼び出さなければなりません。 …