blog.sowatchasayin

Rails etc.

site_keyをリポジトリに置いてないが故の。

Restful_AuthenticationのREADMEに「site_keys.rbはリポジトリに置くな」とある。確かに。
で、チェックアウトしたアプリケーションはsite_keyが無いので動かない。

/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:443:in `load_missing_constant': uninitialized constant REST_AUTH_SITE_KEY (NameError)

って怒られる。

やっぱり。site_keys.rbはrakeで作れました!
Uninitialized Constant By Password

$ rake auth:gen:site_key

datetime_selectでnilも使いたい。

datetime_selectは、nil値にはデフォルトでなぜか現在時刻が入る。なぜだ!

こうすればnilできた
f.datetime_select :start, :include_blank => true

Nil value on datetime_select?

極太

Oldie But Goodie: Sketching with a Sharpie
太いペンでUIのスケッチをしろと。同感。アメリカだけあって、ペンがSharpieなのが面白い。

たしかにサインペンとかのもつ謎のパワーはすごい。

どうしても一つにまとまらない記憶の束

一部のマイグレーションだけ実行する
できるじゃーん

一度にいろんな条件でFindしたい

パラメータからFindの条件を作る部分をまとめたかった。
普通の条件なら
cond[:パラメータ] = params[:パラメータ]
でぽんぽん追加してあげればいいんだけど、配列でやりたい条件もあった。
そんな時はこれ。

ActiveRecord Query Building with Multiple and Optional Conditions

こんな感じでやりました。案外簡単にできるもんですね。


def create_cond_from_params(params)

cond = []
args = {}

#p1は指定したい
if !params[:p1].blank?
cond << "p1 = :p1"
args[:p1] = params[:p1]
end

# p2、あるかな?
if params[:p2]
cond << 'p2 IS NOT NULL'
end

return [] if cond.blank?

[cond.join(" AND "), args]

end

ぽりぽり

Polymorphic Relationships => Rails Wiki

結構簡単にできる。べんり~
でもこういうときはインターフェースが欲しいっす。それっぽいことは出来るんだろうけど。。

追記
できた。Polymorphicにくっつけたクラスのゲッターで、それを拡張してあげればOK。aliasとclass << くっつけたクラス で。
しかし、何かイボーな気配がする。

Author

Fujimura Daisuke
http://fujimuradaisuke.com

Labels