2007年10月23日

CruiseControl.rb

リバースプロキシの下で運用しているときに、ビルド履歴のリンクが本当のホスト名になってしまってアクセスできない。

原因は、URLを組み立ているApplicationHelper#build_url。

* おそらく内部的に呼んでいるurl_forの:only_pathをfalseにしているのではないか
* しかし、同じbuild_urlを呼んでいるProjectHelperでは、明示的にonly_pathをfalseにしている
* さらに、どこにもbuild_urlは定義されていない

もうわけわかめ。
ApplicationHelper のほうは、おもにHTMLに使われるので、only_pathはtrueでいいと思うけれど、ProjectHelperはRSSに挿入されるリンクを作成するので、このあたりはリバースプロキシの仕組みをもうちょい勉強しないとわからんね。

それにしても、build_urlはいったいどこにあるのだろうか…それがわからないと何も進めない。


---追記---
これは名前付きconnectと呼ばれるらしい。routes.rbでmap.connectの代わりに任意の名前を付けることが出来るらしい。
今回は、「map.build ... 」としているため、build_urlというメソッドが動的に生成されている。

grep 'def build_url' をやりまくった自分涙目。
それにしても、名前付きconnectを使うと、デフォルトでonly_pathがfalseになるのか?要調査。
【Rubyの最新記事】
posted by kenchan at 18:50| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2007年10月17日

Railsの無料参考書(PDF)

http://www.sitepoint.com/books/rails1/

約400ページの大ボリュームです。
メールアドレスを送れば、DL出来るアドレスが返ってきます。

頭しかまだ読んでないのですが、オンラインブックマークが題材です。
期間限定なので、まだ DLしてない方はぜひ。
posted by kenchan at 09:56| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年10月05日

rails 1.2.4

先日の2.0PR発表があったばっかりなのに、1.2系のバージョンアップですか。

パッと見た感じでは

* rake routes
* map.resourceが/1;editから/1/editへ

って、2.0の機能の中で脊髄反射的に好みだと思ったやつが入ってるじゃないですか!
これで心おきなくmap.resourceが使えますね。
posted by kenchan at 18:13| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年10月04日

Railsでシングルサインオン

それ rubycas-client でできるよ。

ただ、チュートリアルはruby製のcasサーバ rubycas-server のほうにあったりします。
filterを設定するだけなのでかなり簡単ですが、logout処理の部分で間違いがあるので要注意。

チュートリアルでは以下のようになっていますがExceptionになってしまいます。


session.delete(:casfilteruser)
redirect_to(CAS::Filter.logout_url) and reture


CAS::Filter.logout_urlはコントローラを引数に取るので下のように変更しましょう。


session.delete(:casfilteruser)
redirect_to(CAS::Filter.logout_url(self)) and reture
posted by kenchan at 18:55| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年10月02日

ブクマされたければ

「流行りの話題で、長い長い長い記事を書け!」

かなりツボったw
posted by kenchan at 18:40| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2007年10月01日

moduleかActionControllerを継承か

以下のようなソースコードがあったとします。

ExampleController << ActionController
...
private
def count_to_i
count_params[:count] ? count_params[:count].to_i : 1
end
end

count_to_iをいくつかのコントローラで利用したいため、何とかして共通化したい時に、ModuleとするかActionControllerとするか、どちらがいいのでしょうか。

Module内でparamsを使うのはめちゃくちゃ気持ち悪いんですが、ActionControllerを継承するのも大げさかな〜とも思うんですよね。

それとも、こんな設計がいけないのか…
posted by kenchan at 09:11| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年09月27日

Ruby on Rails セミナー感想

Web Career主催 Ruby on Railsセミナー行ってきました。

第一部は、もういい加減やめたほうがいいと思います。
Railsセミナーに応募してくる人のためにやる内容ではないでしょう。
感想にも書いたのですが、せめてライブプログラミングにしたり、Active Scaffoldで作ってみるなど、一捻りないと時間の無駄と感じてしまいます。

第2部はなかなか興味深い内容でした。
ただ、「Railsアプリの保守」という観点からみると、あまり特徴がないというか、一般的な保守の話になってしまったのが少し残念です。
「Railsだからこういうコストがかかる」もしくは、「ここが楽」という話がなかったように感じます。

まとめ:今、Railsセミナーをするなら保守や運用ノウハウが絶対いい!
posted by kenchan at 11:34| Comment(0) | TrackBack(0) | イベントログ | このブログの読者になる | 更新情報をチェックする

2007年09月25日

デッドマン・ワンダーランド

エウレカ漫画版の人の新作ですが…グロい!
苦手な方は要注意。
ヒロインはアネモネ顔!自分はエウレカ派ですがね。
posted by kenchan at 00:00| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2007年09月20日

facebook

SNS界隈はあまり興味なかったのですが、facebookはちといいですね。
検索系のAPIがいまいちなのは、一応SNSという縛りがあるからなんですかね。

とりあえず、一人二役がさみしいので誰か友達になってください(切実)
posted by kenchan at 18:13| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2007年09月18日

render :text するときの注意

文字列以外のものを対象にするときは、必ず#to_sすること。

render :text => 1

とすると、content-lengthが4(integerのバイト数)になってしまい、タイムアウトまでブラウザが反応しなくなりますよ。
posted by kenchan at 18:16| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。