2012/09/18

[Rails3] before_validationとかの中で ARオブジェクトのカラムごとの値を確認する

入力フォームの中に チェックボックスとかあって、
チェックされれば 送信されてくるし、
されなければ 値は渡って来なかったりするときの
値が存在するかー?の確認

if read_attribute('delete_flg').present?

'delete_flg'は formのnameの部分(カラム名的な)

↓こんなな
<input type="checkbox" name="delete_flg" value="1">

write_attributeとかもあるらしい

参考)
ActiveRecordまとめ2 - ほむり http://d.hatena.ne.jp/jksy/20100512/1273658658
respond_to http://d.hatena.ne.jp/rochefort/20110508/p1


2012/09/13

[Vim] 複数行 いっぺんに コメントアウトとか


  1. Ctl+v 矩形ビジュアルモードで 行頭を複数選択
  2. 大文字I(Shift+i)で インサートモード ・・・通常編集時は小文字i
  3. 「#」を入力 ・・・このとき1行だけ 入力される
  4. 入力したら Escキーを押して インサートモード抜ける
  5. 矩形で選択した部分に反映される


この方法で 一気にインデントとかできる

[Vim] 画面分割

:sp 水平分割

Ctl+w ウィンドウを移動 次へ次へ

:on カレントウィンドウ以外 すべて閉じる

:con カレントウィンドウを閉じる


参考)
nakamura-tech : Vim - 画面分割 http://blog.livedoor.jp/nakamura_tech/archives/51334281.html

[jQuery] $.inArray(str value, array)

jQuery.inArray(value, array)

version 1.2 以降

指定された値を検索し、配列内でのインデックス番号を返します。
値が配列に存在しない場合は、-1 を返します。

引数

  • value : 検索する値
  • array : 配列

戻り値

  • インデックス番号(0から始まる)。検索する値が配列に存在しない場合は、-1。

参考) jQuery.inArray(value, array) - jQuery API 1.4.4 日本語リファレンス - StackTrace http://stacktrace.jp/jquery/api/utilities/jquery.inarray.html




コンソールでデバッグしても 値はちゃんと取れてて、配列にも存在するのに
ヒットしない(-1が返る)現象で悩まされてた

typeofで型を見たら valueもarrayもobjectだった

試しに valueを ""+ で stringに変換したらちゃんとヒットした
valueはstringにしないとだめっぽい?


参考) JavaScriptの型変換ってこうやるんだ・・・ | IDEA*IDEA http://www.ideaxidea.com/archives/2010/03/javascript_type_conversion.html

2012/09/12

[Ruby] 差集合:配列Aから配列Bを取り除く

配列A・・・default_lang から
配列B・・・select_lang を取り除いて、差集合を求める

default_lang = ["ja_JP", "en_US", "zh_CN"]
select_lang = ["ja_JP"]

unselect_lang = default_lang - select_lang  #=>["en_US", "zh_CN"]

2012/09/08

MongoDBでfindデータを見やすく

超絶便利だったのでメモ

↓こちらのdot.mongorc.jsをDL
MongoDB シェルの printjson() を使いやすくする - 文::字 - はてな自習室 http://studyroom.g.hatena.ne.jp/tily/20111007/1317998494

★通りすがりさんの言うように 27行目の[]が閉じ忘れてるので 自分で修正して

↓こんな風にmongoコマンド(コマンドは.bashrcとかで aliasにいれました)
$ mongo dot.mongorc.js --shell

↓データよぶとき
> db.users.find({'_id':ObjectId('5049e42ea4b6ad06ec000034')}).p()
> db.users.find().limit(1).p()

↓フィールド指定もできるから べんり

> db.users.find().p('name','mail')

{ "name" : "test user", "mail" : "(undefined)" }
{ "name" : "hogehoge", "mail" : "hogehoge@hoge.com" }



素敵すぎる

2012/09/07

Eclipse ワークスペースランチャーから不要なワークスペースを削除


Eclipse起動時の ワークスペースランチャーから
不要になったワークスペースを削除する



Eclipseインストールディレクトリ配下の設定ファイルを直接編集する
わたしの MBAは↓ここにあります

$ ll /Applications/eclipse/configuration/.settings/
total 32
-rw-r--r--  1 hoge  staff  104  3 24 21:03 com.aptana.db.prefs
-rw-r--r--  1 hoge  staff  139  3 24 21:03 com.aptana.usage.prefs
-rw-r--r--  1 hoge  staff  146  8 25 14:25 org.eclipse.core.net.prefs
-rw-r--r--  1 hoge  staff  368  9  7 00:07 org.eclipse.ui.ide.prefs


「%Eclipseのルートフォルダ%/configuration/.settings」配下に、
「org.eclipse.ui.ide.prefs」というファイルが存在します。
ファイルの中身を確認すると以下のような設定が記載されています。
「RECENT_WORKSPACES=D\:\\eclipse\\3.6.1\\workspace\nD\:\\eclipse\\3.6.1\\workspace2」
「RECENT_WORKSPACES」に、ワークスペースのフォルダのパスが記載されています。
この中から、不要なワークスペースのパスを削除すればOKです。
ちなみに、\nが区切り文字となっています。

参考)
Eclipseの小技(不要なワークスペースをワークスペース・ランチャーの一覧から削除する方法) | システム開発ブログ(システム開発のアイロベックス|東京都新宿区の業務システム開発会社) http://www.ilovex.co.jp/blog/system/projectandsystemdevelopment/eclipse-1.html