ウェブサービスを作っています。

2009-04-01から1ヶ月間の記事一覧

Ubuntu に sqlite3-ruby gem を入れる

sudo aptitude install libsqlite3-dev sudo gem install sqlite3-ruby

api.rubyonrails.org の NestedAttributes の説明が間違ってる気がする

http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html accepts_nested_attributes_for の :allow_destroy の説明で class Member < ActiveRecord::Base has_many :posts accepts_nested_attributes_for :posts, :allow_dest…

Exception Notifier コンポーネントを公開

例外発生時にメールで知らせる CakePHP のコンポーネント Exception Notifier を作りました。 Rails の Exception Notification みたいなやつです。 まだまだβ版ですが、gist に置いておくので、適当に fork してください。 http://gist.github.com/98770 使…

Zend_Service_Technorati を使ったら結構はまったのでメモ

PHP

PHP やってます。 ところで、テクノラティの API をきれいに扱える Zend_Service_Technorati というライブラリがあります。 使ってみたら確かにきれいに書けたのですが、結構変なことが起こったのでメモ。 基本的には、 search('はてな', array('language' =…

WillPaginate で使う params[:page] に文字列が渡されると例外が発生する

ので、config/initializers/rails_ext.rb などに以下を追加。 module WillPaginate module Finder module ClassMethods def wp_parse_options_with_normalize_page(options) page, per_page, total = wp_parse_options_without_normalize_page(options) page…

PHP でメソッドチェインやイテレータなど

PHP5.3 で遊んでみました。 関数を引数に渡すことができるようになったので、配列ラッパクラスを定義すれば、こんなことができます。 map(function($v) { return $v * 2; })->each(function($v) { echo "{$v}\n"; }); 結果 6 4Ruby なんかと比べればやはり冗…

Paperclip で保存先を動的に指定する

path とか url に proc を渡す。第1引数に Attachment オブジェクトが入ってきます。 has_attached_file(:header_image, :path => proc { |attachment| ":rails_root/public/images/games/#{ attachment.instance.code }/header_image.:extension" }, :url …

ブロック内を表示するヘルパーメソッドの作り方と RSpec によるテストの書き方

こんなの。 <% output_block_with_date do |t| %> 現在の時刻は、<%=h t %> です。 <% end %> ヘルパー。 def output_block_with_date(&blk) concat capture(Time.now, &blk) end concat は、 と同じような意味で、ビューに文字列を出力するメソッドです。 c…