Rails4でサイト構築をする – Scaffold編

[Rails4でサイト構築をする]
Rails環境構築編
Scaffold利用編
Bootstrap導入編
WYSIWYG導入編
– CSV出力機能編
スクレイピング機能編(nokogiri)
– 非同期処理導入編(delayed_job)
– デプロイ環境構築編(capistrano3)
上記を毎週1つずつ出す予定

Ogawaです。前回Rails4でサイト構築をする – Rails環境構築編でRailsサーバが起動するところまで、行いました。今回はRailsのScaffoldを使ってコントローラとかモデルとか作ってみます。
※RailsGuidesにRailsについて詳しく書かれているので、詳しく知りたいかたはそちらを参考にするといいと思います。
ここでは、Scaffoldでできるものを確認してRailsの大枠が何となく把握できればよいかな程度で書きます。

Scaffoldによるコンポーネントの作成

RailsにはScaffoldという便利なものがあります。Scaffoldを使うことで、コントローラやモデル、ビューなどのひな型をコマンド1つで作ることができます。

bundle exec rails g scaffold article title:string content:text

[結果]
tech4
コントローラ、モデル、ビューなどが作成されています。assets以下は作らなくてよい等あればオプションがあるので調べてみてください。

congfig/routes.rbを見てみる

Techracho::Application.routes.draw do
  resources :articles
# 以下コメントいっぱい
end

rake routesを実行してみる

bundle exec rake routes

[結果]
tech5
新しくarticle関連のURLが追加されているのがわかります。
このままURLにアクセスしてもmigration走らせろエラーが出るので、URLをたたく前にmigrationを実行してください。

bundle exec rake db:migrate

/articles
tech6

/articles/new
tech7

デザインがなくてしょぼいですが、形ができました。

日本語化する

app/views/articles/_form.html.erb
内などにある、フォームのラベルが英語で表示されています。
これを日本語にしてみましょう。
config/applicatoin.rbに
以下を追加
config.i18n.default_locale = :ja

config/locales/ja.ymlを作成

ja:
  activerecord:
    attributes:
      article:
        title: 'タイトル'
        content: '内容'

まとめ

Scaffoldを使って、新しくページができるのを確認しました。
Railsに関する詳細なことは冒頭でも書いたように、RailsGuides等を参考にしてください。
次回はBootstrapを導入してデザインを付けてみたいと思います。

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ