箱のプログラミング日記。

えんじにあ奮闘記

Railsでアプリケーションを作る【最初の作業】

まだ初心者ですが、Railsで簡単なアプリケーションを作れるくらいのレベルにはなったので、

多分初学者がつまづきやすい(というか忘れがちな)

「アプリケーションを作るときの最初の第一歩」をまとめておこうと思います。

RubyRailsの開発環境が整っていることを前提に進めていきます

 

rails new でアプリケーションの生成

まずとりあえず、アプリケーションの大枠を作る必要があります。

ターミナルで以下のコマンドを実行します

 $ rails (’バージョン’) new アプリケーション名 (オプション)

バージョンの指定は必須ではないですが、gemの管理とかを考えると指定した方が望ましいかも。

オプションも必須ではありません。使用するデータベースを指定したい場合等はここに記述します。

 

例えばmysqlを使用したい場合、

 $ rails ’5.2.2.0’ new new-app -d mysql

というようなコマンドを打ちます。

(バージョンとアプリ名は任意)


不要ファイルの生成を防ぐ

これは必須ではないですが、やっておくと便利。

このあと行うコントローラーの生成の時、何も指定しないとcoffeeとかjavascriptとかのファイルも

自動的に作ってくれてしまうのがrailsですが、使用しない場合これらは不要です。

できてしまったものをいちいち削除していたら大変なので、

コントローラーの生成時に自動的にこれらの不要ファイルが作られないよう、

config/apprlcation.rb を以下のように編集しておきます

module ChatSpace
class Application < Rails::Application
config.generators do |g|
g.stylesheets false
g.javascripts false
g.helper false
g.test_framework false
end
end
end

作って欲しくないファイルを「false」にしておけば良いです。


コントローラーの生成

不要ファイルが一緒に出来上がらないよう指定できたので、コントローラーを作ります。

コントローラー名は作りたいアプリケーションによりますが、たとえばブログだったらarticlesとか

ツイッターだったらtweetsとか、レビューサイトだったらreviewsとか。

一番最初のページで表示させたいものをとりあえず作ると良いです。

 

ターミナルで以下のコマンドを実行します

※カレントディレクトリ(今現在いるディレクトリ)が先ほど作ったnew-appになっているか必ず確認してから行う

 $ rails g controller articles

※コントローラーは必ず複数形で作成しましょう

 

もし誤って単数系で作ってしまった場合は、

 $ rails d controller articles

で削除することができます。削除できたら、もう一度rails g で正しいコントローラー名を指定しましょう

※ gはgenerate(生成する)の略、dはdelete(削除する)の略です


indexアクションを記述

次は、先ほど作ったコントローラーの中にアクションを定義します。

とりあえずはじめはindexアクションを定義しましょう

class ArticlesController < ApplicationController
 def index
 end
end

 

indexのビューを作成

先ほど定義したindexアクションに対応したビュー画面を作成する必要があります。

view/articlesのディレクトリに新しいファイルを作りましょう。

アクション名とビューファイルの名前は揃える必要があるので、ファイル名はindexを使用します。

index.html.erbもしくはindex.html.hamlを作成します

※拡張子はどちらでも良い。hamlで記述できる人はhamlの方が好ましいかも

 

とりあえず最初の挙動だけ確認したいので、Hello Worldとでも記述しておく。


ルートパスにindexを指定

ここまでできたら、きちんとアプリケーションが動くかを確認します。

ただその前に、アプリケーションのURLを入力した時に飛んでくるページ(=ルートパス)に

今作ったindexを指定する必要があります

 

config/routes.rbを以下のように編集します

Rails.application.routes.draw do
root 'articles#index'
end

これにより、articlesコントローラーのindexアクションを起動した結果、indexビューが表示されるという流れを実装することができます


サーバーを起動しビューが反映されているか確認

準備が整ったので、実際に動くかどうか試します。

ターミナルで以下のコマンドを打ち、サーバーの起動をします

※カレントディレクトリがnew-appになっているか確認

 $ rails s

 

その後、ブラウザのアドレスバーにルートパスを入力し、

先ほどビューファイルに入力しておいたHello Worldが出力されていれば、成功。

 

ここから追加の機能やビューファイルの装飾を行っていくと良いと思います。