Ruby on Railsでコントローラ作成時にviewファイルやrouteを一気に作成する方法

rails

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を定義して・・・という作業をしていた方は時短になります。

コントローラー作成時にアクションが事前に固まっている場合は時短になるので、ぜひ参考にしてみてください。



カテゴリー