Ruby on Railsでコントローラ作成時にviewファイルやrouteを一気に作成する方法
Ruby on Railsでコントローラを作成する場合に、その後対応するviewファイルを作成してルートを通して・・・という作業をします。
しかし、Railsではこれらの作業をコントローラ作成時に一気に行えるコマンドもあります。今回はRuby on Railsでコントローラを作成する場合の時短tipsについて紹介します。
Ruby on Railsでコントローラ作成時にviewファイルやrouteを一気に作成する方法
例えば、testコントローラーを作成した後にアクションを記載しそのアクションに対応したviewファイルを用意しないとRuby on Railsではエラーが出ます。
なので、Ruby on Railsでアプリケーションを作成する時にはコントローラーの作成とviewファイルの作成はセットのようなものですが、実はコントローラー作成時にアクションに応じたviewファイルも一気に生成することが出来ます。
テストアプリを作ってみる
それではさっそく、テストアプリを作って確認してみましょう。
まずはターミナルに下記コマンドを入力し、アプリを作成します。
今回は「hello」アプリを作成してみることにします。
$ rails new hello
問題なく作成されれば、現在のフォルダからhelloアプリのフォルダへ移動する。
$ cd hello
通常であればhelloコントローラを作成したい場合、ターミナルに下記のように入力するはずです。
$ rails g controller hello
このコマンドではtestコントローラが作成されますが、それに対応するviewは生成されません。
ここで今回、helloコントローラ作成時に対応するindex.html.erbというviewファイルも作成してみましょう。
コントローラ作成時に一気に作成する
そのような場合には、ターミナルに下記のように入力する。
$ rails g controller hello index
いつものコントローラ作成時にコントローラ名の後ろにViewファイル名も打ち込みます。
すると、testコントローラー生成時に一緒にindex.html.erbも生成してくれるようになります。
ここで、helloコントローラーの中身を確認してみます。
class HelloController < ApplicationController
def index
end
end
アクションの中身は定義されていないが、すでにindexアクションが定義されています。
さらに言うと、これでルーティングも生成されています。ルーティングファイルも確認してみます。
Rails.application.routes.draw do
get 'hello/index'
end
今までコントローラーを作ってviewファイルを作って、routeを定義して・・・という作業をしていた方は時短になります。
コントローラー作成時にアクションが事前に固まっている場合は時短になるので、ぜひ参考にしてみてください。