2012年4月9日月曜日

初心者のRuby on Rails3その1

どうも。ヘボRailsプログラマーです。

色々と悪戦苦闘しながら開発しています。というわけで、以下rails初心者(自分)が陥ったメモのまとめです。

普段他言語を使っている人はきっと同じようなミスをするんではないでしょうか。

controllerクラスにresponseというメソッドを作成することはできない

予約語なんですね。

Modelクラスにtypeという列名を作成してはいけない

これも予約語なんですね。

文字列の結合には+でなく << を使う


sql = "select * from test where id = " + id

上記のように+で文字列を連結すると処理は遅くなります。Stringオブジェクトの生成コストが高いようです。


sql = "select * from test where id = "
sql << id

<<かconcatが正解。<<が個人的には好みです。

条件分岐は極力シンプルに


if @obj.blank?
  somethig
end

上記のような処理は行数の無駄です。rubyらしく記述しましょう。


somethig if @obj.blank?

上記のように書けば一行ですっきり記述できます。

テキストエリアに入れたデータをviewで表示する


<%= simple_format @obj.text %>

simple_formatは、改行を< br /> にして出力してくれます。文字列は< p> < /p> で囲まれることにも注意してください。
スタイルシートでpでclassやidを指定している場合は、pのみでスタイルを変更できるように修正しましょう。

ハッシュの条件式はシンプルに


if !params[:test_id].blank?
  something
else 
  something
end

上記はよくあるパターンです。パラメーターのハッシュの値があるかどうかの判断。でも、blank?は不要です。
ハッシュは存在するキーがないとnil値を返します。そして、nilは条件式でfalseになります。
つまり、以下のようにするのが正解


if params[:test_id]
  something
else 
  something
end

どうや!blank?メソッドなんていらんのや。省エネやで!

とりあえず、最初のまとめはこんな感じです。rubyは初心者なんで思いっきり勘違いしているかもしれませんがw

pythonの次くらいに好みの言語になれそうな気がいまのとこしてます。
でわ。また。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...