開発環境
Rails version: 6.1.7.8
Ruby version: ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]
概要
- Railsアプリケーションの作成手順と基本構造
- 主要ディレクトリ(app, bin, config, db, public, test)の役割
- Gemとは何か、Gemfileの役割について説明
- 画面表示に必要なファイル(routes.rb, controllers, views)の機能
- アプリケーション作成からサーバー起動までの手順を詳細
- エラー対処法(プラグイン追加、ホスト設定)について
① アプリケーションの作成手順
以下のコマンドでRailsアプリケーションを作成します。
rails new 任意のアプリケーション名
※environment下で行うこと
ターミナル上にcreateという文字がたくさん表示されれば、正常にアプリケーションが作成されています。
もし以下のエラーが発生した場合、Ruby on Railsがアップデートされている可能性があります。
Errno::EPERM: Operation not permitted @ chown_internal - /tmp/bundler2018mmdd-27024-qf4sfs/bin
An error occurred while installing [gem名] (x.x.x), and Bundler cannot continue.
この場合、エラー内にあるコマンドを実行して、必要なGemをインストールしてください。
gem install [gem名] -v 'x.x.x' --source 'https://rubygems.org/'
間違えてアプリケーションを作成してしまった場合
rm -rf 任意のアプリケーション名
re :remove
-rf:フォルダ内のすべてのファイルとフォルダを削除するオプション
このコマンドで、作成したアプリケーションを削除できます。
Railsアプリケーションのディレクトリ構成
アプリケーションを作成すると、以下のようなディレクトリ構成が自動生成されます
app
アプリケーションの主要ファイルが保存されています
|- app/
|- assets/ => 以下3つのファイルが保存
|- images/ => 画像ファイルを保存
|- stylesheets/ => CSSやSCSSファイルを保存
|- config/ => 画像、CSSやJavaScriptを圧縮するための設定ファイルを保存
|- controllers/ => MVCにおけるControllerのファイルを保
|- javascripts/ => JavaScriptファイルを保存
|- models/ => MVCにおけるModelのファイルを保
|- views/ => MVCにおけるViewのファイルを保存
bin
コマンドの設定ファイルが保存されています。通常、ここを操作することはほとんどありません。
config
railsアプリケーションの設定ファイルが保存されています。
|- config/
|- initializers/ => アプリケーションの設定を初期化するファイルを管理
|- database.yml => データベースへの接続設定を記述するファイル
|- routes.rb => ルーティングを設定するファイル
db
データベースに関する設定ファイルが保存されています。
|- db/
|- migrate/ => マイグレーションファイル(データベース上のテーブルを作成・更新するために必要なファイル)を管理
|- schema.rb => データベースマイグレーション後に生成され、最新のデータベースの状態をキャプチャするファイル
rails new直後は反映していません
public
デプロイ(アプリケーションやソフトウェアをサーバー上に配置して利用可能な状態にする一連の作業のこと)後にWeb上に公開されるファイルが保存されています
test
アプリケーションのテストに関するファイルを保存しています。
Gem
よく使う機能や便利な機能がパッケージとしてまとめられたものです。
このGemを使用することで、開発の効率性なども変わってきます。
Gemfile
利用するGemを記載し、管理するためのファイルです
画面表示に必要なファイル
任意のアプリケーション名/
|- app
|- controllers/ <=ビューとモデルへの司令を処理として記述
|- views/ <=クライアントに生成されるウェブページをhtml形式で記述
|- config
|- routes.rb <=URLをどのコントローラのどのアクションで処理するかを記述
言い換えると、以下のように表現できます。
- **routes.rb :**URLとアクションを紐づける
- **controllersフォルダ:**ユーザーからのリクエストを受け付ける司令塔
- **viewsフォルダ :**Webページに表示される内容
② プラグインの追加
作成したディレクトリに移動し、必要なプラグインを追加します。
cd 任意のアプリケーション名
yarn add @babel/plugin-proposal-private-methods @babel/plugin-proposal-private-property-in-object
# Railsアプリケーション内で最新のJavaScript機能(特にプライベートメソッドやプロパティ)を使用するために追加します。
③ ホスト(環境)設定
以下のコマンドでサーバーを立ち上げます。
rails s
「Blocked host〜〜」というエラーが表示された場合は、ホスト設定が必要です。
エラー文にある「config.hosts << "~.vfs.cloud9.us-east-1.amazonaws.com"」という記述を、以下のファイルに追加します。
config/environments/development.rb
※必ずendの前に追加してください。また、ホストのURLはホストによって異なるので、ご自身の画面で表示されている内容に合わせて記述しましょう。
複数ホストからアクセスする場合は、次の記述を使います。
config.hosts.clear
# この設定により、特定のホスト制限を解除し、任意のホストからアプリケーションにアクセスできるようになります。
# すべてのホストのブロックを無効化する設定のため、具体的なホスト名が分かる場合は、セキュリティの観点より、ホストを追加する方式で対応することが望ましいです。
④ サーバーの立ち上げ直し
ホスト設定を行ったら、サーバーを再起動します。
rails c # サーバー停止
rails s # サーバー起動
再度プレビューを確認し、アプリケーションが動作しているかチェックしましょう。
作業途中、ターミナル上で「springエラー」が発生した場合、下記コマンドを入力すれば解決します。
spring stop
以上がCloud9でのRailsアプリケーション作成・設定の手順です。