使ってるけど、意外と知らなかったのでメモ
抽出方法は全部同じ
whereの条件指定の方法ですね。
以下の3つは、全て同じSQLを発行します
1.Hashで条件設定する方法(AR独自チックな感じで大体使う方法)
1
|
|
2.プレースホルダで地道にパラメータ設定する方法(どの言語でも通用する)
1
|
|
3.シンボルで対応付けをわかりやすくする方法
1
|
|
抽出結果がなかったらレコードの新規作成をする
これ、一発でできるメソッドあったんですね。
知らなかった。。。
どうやらfirst_or_createというメソッドを使えばよいみたい。
で、ブロックを取ることができるので、ブロック内で挿入する値を自由に設定できる
以下のような感じで書くとできる模様。
1 2 3 |
|
結局は裏で2回SQL発行してるだけなんですけどね。(selectとinsert)
と、まぁ色々とありますがこんなところで。