2009-07-09
nifty_generatorsを導入する(nifty_layout、nifty_scaffold、nifty_config)
Railsでアプリを作成する場合、app/views/layouts以下にapplication.html.erbは生成されないため、とても素っ気ない画面になります。
そのままアプリを作りつづけても良いのですが、ある程度見栄えのするアプリ全体の共通テンプレートがあると便利です。
自分で作ることもできますが、先達の作ったものを使わせてもらうこともできます。
ここでは、Railscastsで知られるRyan Batesさんによるnifty_generatorsを導入し、使ってみます。
nifty_generatorsは、以下の4つのgeneratorから構成されています。それぞれ単一で使用することができます。
- nifty_layout: app/views/layouts/application.html.erb、public/stylesheets/application.cssを生成する。
- nifty_scaffold: ちょっと見栄えのするcontrollerとmodel、migrationを生成する。
- nifty_config: config/app_config.ymlとconfig/initizlizers/load_app_config.rbを生成する。
- nifty_authentication: ごく単純なauthentication機能を追加する。
導入
使用方法
nifty_config
script/generate nifty_config
config/app_config.ymlとconfig/initizlizers/load_app_config.rbが生成されます。
config/app_config.ymlを必要に応じて編集し、サーバーを再起動した後に、その内容が反映されます。
config/initializers/load_app_config.rbは、通常、編集する必要はありません。
config/app_config.ymlは、例えば以下のようになります。
development: domain: localhost:3000 site_title: "My Site Title"
上記のようにapp_config.ymlに書いた内容は、controllerやviewから参照することが出来ます。
例えば、viewから参照する場合には、以下のようにします。
<%= link_to APP_CONFIG[:site_title], root_path %>
nifty_scaffold
例えば、userのmigration、model、controller、helper、viewを作成し、かつ、controllerのメソッドとしてnewとeditを作りたい場合は以下のようにします。
script/generate nifty_scaffold user username:string email:string password:string new edit
railsのscaffoldよりも見栄えの良い結果が簡単に得られます。
モデルは作成したくない場合等も、各種のオプションで対応できます。
どのようなオプションが存在するか知りたい場合は、変数なしでコマンドを発行します。
script/generate nifty_scaffold
これでヘルプとサンプルが出力されます。
nifty_layout
script/generate nifty_layout
app/views/layouts/application.html.erb、public/stylesheets/application.cssが生成されます。
簡素なレイアウトですが、充分に見栄えがします。
