rails

curlでRESTを試す

こんなTerminalというモデルを作成 <terminal> <name>Grace</name> <location-id>1</location-id> </terminal>Accept:application/xmlは無くても通ります。あとxml versionも無くても通る。大事なのはContent-Type。これが無いとxmlのパースがちゃんと出来ないみたいです。 curl -X POST -H "Accept:application/xml" -H "…

super simple authentication

http://railscasts.com/episodes/21 結構古いRailscastsだけどユーザーが一人しかいない自分用のツールとかには便利なので、今回dreamhostでたちあげてたやつを2.0系にあわせると同時に使ってみた。前は自分しか使わないにも関わらずacts_as_authenticatedを…

Rails2.0でのmigration

http://railscasts.com/episodes/83 これでやっているように便利になりました。 すでにあるテーブルにカラムをひとつ追加するを紹介していたので2個以上追加する場合はどうするのかと試してみた。 1つの場合: priorityというintegerのカラムを追加 % script…

Pro Active Record

読んでみたけど特に目新しいことは書いてない、でもたまに知らないことも書いてある程度。とは言ってもAPIリファレンスを読めば書いてあることだと思うのであまりおすすめはしません。Pro Active Record: Databases with Ruby and Rails作者: Chad Pytel,Jon…

UC BerkeleyでRails

http://weblog.rubyonrails.com/2007/9/28/uc-berkley-teaches-ruby-on-rails へー、と思ったんだけど190番台のコースは2unitsしかない、忙しい人はほとんど取らないこーすだったような気がする。でもコメントを読んだらCS186でRailsを使ってるらしいじゃん…

#60 Testing without Fixtures - RailsCasts

Railscastsの60回目はFixtureを使わないでユニットテストをする方法でした。 今回はhttp://mocha.rubyforge.org/という、stubを作ってくれるgemを使ってFixtureを使わないやり方を紹介していました。先週ちょうどFixtureが複雑になってて面倒だなと思ってた…

Clean Up the View

Railscastsの55回目、ビューのリファクタリングがテーマです。 http://railscasts.com/episodes/55 ヘルパーメソッドのcycleを知った。

ruby-debug

#54 Debugging with ruby-debug - RailsCasts 今回のRailscastsで紹介されてたruby-debugは便利そうです。今度機会があったら使ってみよう。 Debugの対象として取り上げられてたのはTimeとDateの振る舞いの違い。 Dateに+を使うときは日数、Timeに+を使う…

filter_parameter_logging

via #9 Filtering Sensitive Logs - RailsCasts パスワードとかのセンシティブなデータをログからフィルターする方法 class ApplicationController < ActionController::Base filter_parameter_logging "password" end

Beautiful Code: The evolution of an iterator – Signal v. Noise SvNでは珍しくプログラミングネタ。Jamisの書いたコードがDHHのアドバイスで変化していく話。 DHHはKent Beckの本でコンスタントをメソッドとして使うみたいな事を読んだらしい。 Smalltalk…

ImageMagick

使いたくてここを参考に色々とインストール http://hivelogic.com/articles/2006/06/11/rmagick_os_x freetypeのところで何を思ったか最新を入れたら、こんな結果に: => Booting WEBrick... dyld: NSLinkModule() error dyld: Symbol not found: _FMDispose…

7.day

今から一週間後の日付を設定したい。Time.now.since(604800)とかやっていた。でもこれはどう見てもrailsっぽくない。教えてもらいました、Time.now.since(7.day) しっくりくる。

sqlite3からmysqlへ

最初のうちはsqliteで作っていたものをmysqlへ移行 使用したスクリプトはここから: http://ko.meadowy.net/~koichiro/diary/20061019.html マルチラインに対応させるためにちょこっと変更 66,67c66,67 < next if l =~ /sqlite/m < l =~ /INSERT INTO \"(.*)…

FastCGIとApache2系

mod_fcgidでハマったのでのメモ。 Apache2系はmod_fcgid: http://fastcgi.coremail.cn/index.htm http://d.hatena.ne.jp/sakuramateo/20060205

render_without_layout

layoutを使うcontrollerがあって、そのなかでrespond_toでxmlのレスポンスを返したい。でもその時はlayoutを使いたくない。こんな感じになる。 def index @products = Product.find_products_for_sale respond_to do |format| format.html format.xml { rend…

schemaのバージョンをさくっと知る方法

$ ruby script/runner 'puts ActiveRecord::Base.connection.execute("select version from schema_info")' 04version4ただ単にrunnerを使ってみたかっただけ、全然さくっと感がない。 db/schema.rbに書いてあるのでgrepしたほうが早い。 $ grep version db/…

has_manyのJoinモデル

Rails Recipesの#22から、関連自体にデータを持たせたいときなどに使うJoinモデル。そのオプションに関してもメモ。belongs_toやhas_manyで使えるオプションにclass_nameがあるが、これがJoinモデルを使った時はclass_nameではなくsourceになる。 class_name…

acts_as_versioned

Rails Recipesの#20、acts_as_versionedを使う。本ではconsoleを使って色々と試している。こんな感じで: >> e1 = Entry.create(:title => "Day One", :body => "...") >> e1.versions => 1 >> e1.body << "Hello..." >> e1.save >> e1.version => 2 >> e1.v…

paginator

paginateって楽だなと最初は思っていたが、それでは痒いところに手が届かないことに気づく。以下のページを参考にPaginatorを使ってみた。 Paginator (任意のクエリによるページ管理) http://rails.techno-weenie.net/question/2006/1/10/passing_specific_r…

RMagickを使う

Rails Recipesの#13はRMagickを使ってパイチャートを表示するというレシピで、OSXにImageMagickのインストールから始めて結構時間がかかってしまった。ImageMagickはこのサイトを参考にしてDarwinPortsを使っていれました。 http://rmagick.rubyforge.org/in…

Recipes

とりあえず12まで終了。一日10ページぐらいのペースでいこうかな。

Recipe

Rails Recipeを買おうかな。Chad FowlerのIndia本には結構うなずける点が多かったので、そんな人が書くrailsの本はなかなかいけているはずである。思えばLispの勉強が滞っているなあ。

Agile Web Development with Rails 2nd ed

んー、もうでちゃったよ。Railsも1.1になったし、いつかアップデートされるだろうと思ってたんだけど。2ndエディションって。4月以降に1stを買った人はフリーでアップデートがあるらしいけど、僕は2月に買ったから駄目。PDFならずっとアップデートしてくれ…

It’s all the same

SvNネタIt's all the same - Signal vs. Noise (by 37signals) 37signalsにはこういった質問がくるらしい、「どうやって開発をしながらPRやマーケィングの時間を捻出してるの?」とか「カスタマーサポートの時間はどうしてるの?」とか「なんでそんなに小さ…

rake appdoc

Agile Web Development with Railsを読み進めているうちに作ったアプリのドキュメンテーションを生成しましょうってところがあり、このタイトルにあるコマンド"rake appdoc"と打ったのだがrakeからエラーが帰ってくる。rubyのディレクトリーから掘り下げて、…