each_with_indexの開始を任意の数値から
each with indexは0始まりでインデックスが使える。
1
|
|
でも連番降ったりとか1始まりが欲しい場合がある。
そんな場合。
1
|
|
もちろん数値変えればスタートの値も変わる。
each with indexは0始まりでインデックスが使える。
1
|
|
でも連番降ったりとか1始まりが欲しい場合がある。
そんな場合。
1
|
|
もちろん数値変えればスタートの値も変わる。
rails consoleで
1
|
|
って書くとSQLが吐かれるようになります。
1 2 |
|
アクセス中のURL取得
1
|
|
アクセス中のホスト
1
|
|
whereつけると戻り値がrelationになるから、to _sqlが使える。
scoped使うとrelation取れる。
1
|
|
まぁ、ログ見りゃいいんだけど。デバッグで止めてちょっとずつ条件変えながらSQL見たい時とかデフォルトスコープを確認したいけどモデル見るの面倒な時とか。
環境は引き続き
ruby 1.9.2
rails 3.0.5
まず、ActiveRecordにto _sqlってのがあります。
これ使うとSQL文を確認できる。
ちなみにモデルにはact as paranoid使ってdestroyは全て論理削除状態。
デフォルトのスコープでdeleted _at is nullの条件がつく状態。
1
|
|
whereの後に使えば、とりあえずは使えるみたい。
んでuserクラスにimagesがhas _manyで宣言されている場合。
1 2 |
|
whereを付ければto _sql使えたのでwhereつける。
1
|
|
とれた。
なんかよくわからん。
環境は引き続き
ruby 1.9.2
rails 3.0.5
まずはradio button tag
1 2 |
|
checkedのon offは第3引数にbooleanを渡す。
第3引数はデフォルトでfalse
んで、radio _button
1 2 3 4 |
|
radio _buttonは非チェックはnilと"“とfalseでもいけた。
詳しくはこれ以上調べない!(`・∀・´)
間違っていたので一部修正しました。
すいません
こんな風にかける。
1 2 3 4 5 6 |
|
すごい。
そんなあなたに。
ruby 1.9.2
rails 3.0.5
で確認しました。
ここを参考にしました。
1 2 3 4 5 6 7 |
|
ちなみにこれでも動きました。でもなんかこの書き方怖い。
1
|
|
前に書いたオープンクラスでは、クラスを再オープンしてメソッドを追加した場合に。
同じクラスから生成されたオブジェクト全てにメソッドが追加されました。
もう一回やってみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
生成されたオブジェクトがメソッドを呼ぶとき。
オブジェクトはクラスにメソッドを探しにいき、クラスに定義したメソッドがあった場合にそれを実行します。
つまりクラスのメソッドに対する変更はそのクラスから生成された全オブジェクトに影響があるということです。
でも実際には特定のオブジェクトにのみ処理を追加したい場合があります。
特異なんとかを使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
hoge1のみにメソッドbbbが追加されました。
他にinstance _evalも使えます。
1 2 3 |
|
蛇足ですが。class _eval
1 2 3 |
|
class evalはclassのメソッドなのでHoge.class evalで呼びます。
全オブジェクトに影響しています。
class _eval(classのメソッド)はクラスのコンテキスト内で評価されるので、クラスメソッドとして追加されます。
これはオープンクラスで追加したのと処理と同じような動きです。
ruby1.9からです。
1 2 3 4 5 6 7 8 9 10 11 |
|