読者です 読者をやめる 読者になる 読者になる

Ruby on Rails4.0.0正式版でJSON関連コードが無いキレイなscaffoldを生成する方法

Ruby

Ruby on Rails4.0.0が正式リリースされましたが、4.0.0RC1 までと JSON関連のコードが無いscaffoldを生成する方法が変わりました ^^;

http://rubyonrails.org/images/rails.png

4.0.0RC1 までは、以下のオプションで JSON関連のコードが無い、きれいな controller と views の *.json.jbuilder が生成されませんでした。

% rails g scaffold todo due:date task:string -c scaffold_controller

しかし、Ruby on Rails4.0.0正式版 (4.0.0RC2から)は上のオプションでは JSON関連のコードが生成されてしまいます。--jbuilder=false を指定すれば *.json.jbuilder は生成されなくなりますが、controller には 醜い respond_to 〜 format.json があります ^^;

コードを見て判った事は、JSON関連のコード生成は jbuilder Gem が行っています。 したがって、Gemfile から jbuilder Gem をコメントアウトしてしまえばOKです。

結論

Ruby on Rails4.0.0が正式でJSON関連のコードが無いscaffoldを生成するには

Gemfile を以下のように変更します

gem 'jbuilder', '~> 1.2'

↓ 変更

# gem 'jbuilder', '~> 1.2'