Railsあれこれ

Railsであれこれ試している。has_manyとかbelongs_toとかって何が嬉しいんだろうと思ったけど、実際にモデルを作ってみてようやく分かった。どうやってモデルを整理するかって自明じゃないということも何となく分かったような。

画像のアップロードとかどうするんだろうと思ったら、Paperclipといういい感じのプラグインがあるらしく、試してみたら確かにカンタンだし、自然な形でなるほどなぁと思った。

class User < ActiveRecord::Base
  has_many :articles, :dependent => :destroy
  
  has_attached_file :photo, :styles => { :small => "72x72>" }
  
#  validates_attachment_size :photo, :less_than => 5.megabytes
#  validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png']
end

というような感じでモデルに「has_attached_file」と書ける。クラスメソッドを宣言的に見せることで、色々と動的にメソッドをくっつけるようなことをやるのがRails流ってことなのかな。

じゃあ認証はなんだろうかと思ったら、これもrestful_authenticationとかauthlogic、あるいはdeviseみたいに、色々と流行のプラグインがあるらしいことは分かった。diviseはすごく良くできてるみたいだけど、大げさな感じもして、たぶんauthlogicがよさげなのかなと想像してみたり。

HAMLってすごく良さそうじゃん、ERBに代えて、これでコードジェネレートしてほしいなと思って検索してたら、nifty_generatorというgemがあって、ああ、なるほどこれがRyan BatesがRailscastで使ってるやつかということが分かった。標準で最低限のCSSがあったりして、あのscaffold後のガッカリ感が軽減される。

と、あれこれ試すうちに、そろそろ何かWebサービスを作ってみたいと思うようになった。ていうか、Webサービスを作るためにRailsをやってみようと思ったわけだけど。