【今すぐ無料で試す】ゼロから始める定額・学び放題のプログラミング学習サービス「侍テラコヤ」

【Ruby on Rails】appディレクトリとconfigディレクトリを分かりやすく解説

Ruby on Railsを知っている人

Ruby on Railsでは「rails new アプリケーション名」で簡単にアプリケーションの枠組みを作成することができます。

 

上記のコマンドでアプリケーションを簡単に生成することができますが、たくさんのディレクトリやファイルがあり、各々のディレクトリとファイルがどのような役割を担っているのか把握するのが大変かと思います。

 

そこでこのページではよく使用するappディレクトリとconfigディレクトリの中身と役割について解説していきたいと思います。

 

最後まで読んで頂けたらと思います。

 

\単月定額と比べて総額最大48,000円OFF!/
学び応援キャンペーン実施中!
【超安心】1か月間全額返金保証付き

最短30秒で登録完了! 今すぐ侍テラコヤに入学してRuby on Railsを学ぶ!

 

以下のプログラミングスクールもオススメです。

 

是非検討してみてはいかがでしょうか?

 

  1. 侍テラコヤ初月50%OFF学び応援キャンペーン実施中)(解説記事はこちら
    学び応援キャンペーンでお得に申し込む!
    ・コスパ最高! 月額2,980円〜利用できる!
    ・単月定額と比べて総額最大44,400円OFF!

    ・学び応援キャンペーン実施中!
  2. TechAcademy
    無料体験レッスンに申し込む!
    ・Ruby/Ruby on Railsだけでなく、Git/GitHub、HTML/CSS、Bootstrap、SQL、Heroku、Web API、Vue.jsなど幅広く学ぶことができる

    ・今まで得た知識をアウトプットするために自分の作りたいWebサービスを作る
    無料体験レッスン実施中!

 

Ruby on Railsを知っている人

 

Webアプリケーションのディレクトリのひとつに「appディレクトリ」というものがあります。

 

このappディレクトリはWebアプリケーション開発をしていくうえで一番使用する頻度が高いディレクトリとなっています。

 

このappディレクトリの中には以下のようにassets、contrillers、helpers、jobs、mailer、models、viewsといったディレクトリが配置されています。

 

 

 

それではappディレクトリ内にあるディレクトリの役割を一つ一つ見ていきましょう。

 

assets

 

assetsはビューに埋め込むcss、javascript、画像などのアセットを管理するディレクトリとなっています。

 

assetsディレクトリ内には以下のようなディレクトリが配置されています。

 

images

 

画像を配置するためのディレクトリとなっています。

 

javascripts

 

javascriptファイルを配置するためのディレクトリとなっています。

 

中でもapplication.jsファイルを使用することですべてのhtmlファイルへjavascriptsを適用させることができます。

 

stylesheets

 

cssファイル、scssファイルを配置するためのディレクトリとなっています。

 

中でもapplication.cssファイルを使用することですべてのhtmlファイルへcssを適用させることができます。

 

controllers

 

controllersとはコントローラーを管理するディレクトリとなっています。

 

またコントローラー共通のコードを管理するconcernsディレクトリも配置されています。

 

helpres

 

ヘルパーモジュールを管理するディレクトリとなっています。

 

jobs

 

ジョブクラスを管理するディレクトリとなっています。

 

mailers

 

メーラークラスを管理するディレクトリとなっています。

 

models

 

モデルクラスを管理するディレクトリとなっています。

 

またモデル共通のコードを管理するconcernsディレクトリも配置されています。

 

views

 

ビューテンプレートを管理するディレクトリとなっています。

 

ビューテンプレートは各コントローラーに対応しており、各コントローラー名のディレクトリで管理することになっています。

 

また、共通フレームであるレイアウトを提供するためのlayoutsディレクトリがデフォルトで生成されます。

 




 

configディレクトリ

 

configディレクトリは実行環境に関するものを管理するディレクトリとなっています。

 

 

 

それではconfigディレクトリ内にあるディレクトリとファイルの役割を一つ一つ見ていきましょう。

 

environments

 

開発のdevelopment、テストのtest、運用のproductionなどの実行環境ごとの設定情報を管理するディレクトリとなっています。

 

initializers

 

Webアプリケーションで使用する初期情報設定ファイルを管理するディレクトリとなっています。

 

locales

 

言語を管理するディレクトリとなっています。

 

application.rb

 

開発のdevelopment、テストのtest、運用のproductionなど、すべての実行環境に共通の設定を行うためのファイルです。

 

boot.rb

 

Gemfileを管理し、Gemfileからgemのセットアップを行うファイルとなっています。

 

cable.yml

 

Action Cable用の環境別のデフォルトキューアダプターを管理するためのファイルとなっています。

 

credentials.yml.enc

 

暗号化キーを管理するためのファイルとなっています。

 

database.yml

 

開発のdevelopment、テストのtest、運用のproductionなどの実行環境の設定を行うためのファイルとなっています。

 

environment.rb

 

サーバー起動時にappplication.rbの初期化を行うためのファイルとなっています。

 

master.key

 

credentials.yml.encの情報を復号するためのキーがあるファイルとなっています。

 

puma.rb

 

Pumaの実行環境を設定するためのファイルとなっています。

 

routes.rb

 

ルート情報を管理するためのファイルとなっています。

 

spring.rb

 

Springの制御設定を行うためのファイルとなっています。

 

※Springはアプリケーション起動時に必要なライブラリをロードする役割を担っています。

 

storage.yml

 

Active Storageの環境設定を行うためのファイルとなっています。

 




 

Ruby on Railsを学ぶことができるオススメの教材

 

 

Ruby on Railsを知っている人

Ruby on Railsを学ぶのにオススメの参考書をみていきましょう。

 

Ruby on Rails 6 実践ガイド impress top gearシリーズ

 

本書では、1つの企業向け顧客管理システムを作る過程で、RailsによるWebアプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。

 

各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。

Ruby on Railsを知っている人

 

 

Ruby on Rails 6 実践ガイド[機能拡張編]

 

本書は、2019年12月に出版された『Ruby on Rails 6実践ガイド』の続編です。

 

本編で作成した企業向け顧客管理システムBaukis2の機能をさらに拡張し、実用性の高いシステムにしていきます。

 

本書のテーマは多岐にわたります。

 

クッキー、リクエスト元のIPアドレス、Ajax、データベーストランザクション、排他的ロック、ツリー構造のデータなど、さまざまなWebアプリケーションに必須の機能を実装しながら解説します。

 

また、この機能拡張編では、HTMLフォームのさまざまなバリエーションを紹介しています。

 

特にRailsで業務システムを開発する場合、要求仕様に応じて自由にHTMLフォームを設計・実装する力が求められます。

 

本書では、さまざまなフォーム設計の事例を扱っていますので、一種のレシピ集として活用できます。

Ruby on Railsを知っている人

 

 

パーフェクト Ruby on Rails 【増補改訂版】

 

新しいRailsのバージョンでサポートされた機能の紹介だけでなく、Dockerでの導入方法など最新の実践的内容を追加し、現在のトレンドとなる開発スタイルを紹介します。

Ruby on Railsを知っている人

 

 

まとめ

 

Ruby on Railsを知っている人

最後まで読んで頂きまして、ありがとうございました。

 

今回のポイントは以下の通りです。

 

  • appディレクトリの中にはassets、contrillers、helpers、jobs、mailer、models、viewsといったディレクトリが配置されています
  • configディレクトリは実行環境に関するものを管理するディレクトリとなっています

 

途中で分からないことがあり、中々進まないこともあると思います。

 

しかし、順を追って学習を進めていけば、必ずできるようになるのであきらめず最後までやりぬきましょう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です