27 Jan '15, 8am

[初心者向け] RubyやRailsでリファクタリングに使えそうなイディオムとか便利メソッドとか - Qiita

## はじめに: 遠回りせずに「近道」を探す RubyやRailsを始めたばかりの人は、もっと短く書く方法や便利な標準ライブラリの存在を知らずに遠回りした書き方をしてしまいがちです。 そこで、RubyやRails初心者の人によく見かける「遠回り(または車輪の再発明)」と、それを回避する「近道」をいろいろ集めてみました。 ### 2013.11.06 追記 この投稿を書くに至った経緯などを自分のブログに書きました。 こちらも合わせてどうぞ! - [昨日Qiitaに投稿した記事は普段のコードレビューの副産物 - give IT a try](http://blog.jnito.com/entry/2013/11/06/072831) ## Ruby編 以下はRubyの標準機能を使ったイディオムやメソッドです。 Railsプロジェクトでもそれ以外でも使えます。(Ruby 1.9以上を想定) ### 後置ifで行数を減らす ````ruby if user.active? send_mail_to(user) end ```` ````ruby send_mail_to(user) if user.active? ```` ### if + notではなく、unlessを使う ````ruby user.destroy if !user.active? ```` ````ruby user.destroy unless user.active? ```` ただし、unlessの条件がandやorでつながっていたり、否定形の条件が入っていたりすると、読み手の脳に負担がかかるので、複雑な条件はifを使う方が良いです。 ````ruby # こんなunlessは理解するのに時間がかかるのでNG user.destroy unless (user.active? || user.admin?) && !user.spam? ```` ### 三項演算子を使って行数を減らす ````ruby if user.admin? "I appreciate for ...

Full article: http://qiita.com/jnchito/items/dedb3b889ab226933ccf#map%E...

Tweets

書いた | ruby と rails のバージョン表 (ついでに関数プログラミング) - Qiita

書いた | ruby と rails のバージョン表 (ついでに関数プログラミング) - Qiita

qiita.com 26 Jan '15, 1pm

こういうのが欲しくて、 rails|1.8.7|1.9.2|1.9.3|2.0.0|2.1|2.1.1|2.2|jruby|jruby-19mode|rbx|rbx-19mode|rbx-2|ruby-head ---|---|---|---|...

ruby: Railsガイドを読む(定数の自動読み込みと再読み込み) - Qiita

qiita.com 25 Jan '15, 11am

[定数の自動読み込みと再読み込み](http://railsguides.jp/constant_autoloading_and_reloading.html)を読んでいて、よくわからなかったことを調べてみました。この章はRubyとRailsの...

知らなかった。便利便利! Ruby - Railsで既存DBを流用したときのDangerous...

qiita.com 08 Feb '15, 2am

railsで既存DBからアプリケーションを作るときは、database.ymlにつなげたいDBの接続情報を記述した上で、 rake db:schema:dump して、スキーマを作成します。 ここのテーブルに対しては、 rails g mode...

Rails - Postモデルから、search_wordsに含まれる単語をAND検索する -...

qiita.com 22 Jan '15, 11pm

こんな感じで、`scope`を用意してみる ```post.rb scope :search, ->(search_words) { return if search_words.empty? post_arel = Post.arel_tab...