#概要
『どうも皆さん、おはこんばんにちは』
(…一度言ってみたかった)
筆者は最近RoRアプリを作り始めた、思いっっきり初心者です。
Qiita初投稿という事で、めちゃくちゃ初歩的な「Railsで新規アプリを作る過程」について投稿したいと思います!
#前提条件
- OS: MacOS
- Rubyバージョン: 2.5.1
- Railsバージョン: 5.2.3
- データベース: MySQL
- Rubyバージョン管理: rbenv
- IDE: VisualStudioCode
上記の環境でアプリを作っていきます!
#Railsで新規アプリを作る
ターミナル上で
rbenv local 2.5.1
rails _5.2.3_ new app_name --database=mysql --skip-bundle
を実行します。
##何を行っているのか
-
rbenv
rbenvコマンド実行の宣言 -
local 2.5.1
このプロジェクトで使用するRubyのバージョン指定(今回はver.2.5.1) -
rails
railsコマンド実行の宣言 -
_5.2.3_
rubyのバージョン指定(今回はver.5.2.3) -
new
新しいアプリの作成コマンド -
app_name
作りたいアプリの名前の定義 -
--database=mysql
使いたいデータベースの指定(今回はmysql)
-
--skip-bundle
bundle install
をスキップする指示
app_name
を.
とすると、カレントディレクトリ上に作られる--database=mysql
は、-d mysql
でもOK--skip-bundle
は、-B
でもOK
rbenvの使い方と仕組みについては、以下の記事がわかりやすいので参照してください。
rbenvの使い方と仕組みについて - Qiita
#アプリ内のファイル
上記のようにターミナル上でrails new
をすると、たくさんのフォルダやファイルが作られます。中身は以下のようになっているはずです。
####app
アプリケーションのコントローラ、モデル、ビュー、ヘルパー、メイラー、チャンネル、ジョブズ、アセットが置かれています。
####bin
アプリケーションを起動・アップデート・デプロイするためのRailsスクリプト等のスクリプトファイルが置かれています。
####config
アプリケーションの設定ファイル (ルーティング、データベース等) がここに置かれています。
####db
現時点のデータベーススキーマと、データベースマイグレーションファイルが置かれています。
####lib
アプリケーションで使う拡張モジュールが置かれています。
####log
アプリケーションのログファイルが置かれています。
####public
このフォルダの下にあるファイルは外部 (インターネット) からそのまま参照できます。静的なファイルやコンパイル済みアセットをここに置きます。
####storage
Diskサービスで用いるActive Storageファイルが置かれています。
####test
Unitテスト、フィクスチャなどのテスト関連ファイルをここに置きます。
####tmp
キャッシュ、pidなどの一時ファイルが置かれます。
####vendor
サードパーティによって書かれたコードはすべてここに置きます。通常のRailsアプリケーションの場合、外部からのgemファイルをここに置きます。
####.gitignore
Gitに登録しないファイル(またはパターン)をこのファイルで指定します。
####.ruby-version
デフォルトのRubyバージョンがこのファイルで指定されています。
####config.ru
アプリケーションの起動に必要となる、Rackベースのサーバー用のRack設定ファイルです。
####Gemfile
Railsアプリケーションで必要となるgemの依存関係を記述します。このファイルはBundler gemで使われます。
####package.json
Railsアプリケーションで必要なnpm依存関係をこのファイルで指定できます。このファイルはYarnで使われます。
####Rakefile
このファイルには、コマンドラインから実行できるタスクを記述します。ここでのタスク定義は、Rails全体のコンポーネントに対して定義されます。
独自のRakeタスクを定義したい場合は、Rakefileに直接書くと権限が強すぎるので、なるべくlib/tasksフォルダの下にRake用のファイルを追加するようにしましょう。
####README.md
アプリケーションの概要を説明するマニュアルをここに記入します。このファイルにはアプリケーションの設定方法などを記入し、これさえ読めば誰でもアプリケーションを構築できるようにしておく必要があります。
#gemのインストール
Rubyにおけるgemは、下記2つの役割を持ちます。
- パッケージ
- パッケージ管理ツール
パッケージを使うことで開発を効率的に進めることができるので、実際の現場でも使用されることが多いようです。
簡単にパッケージをインストール可能なので、Ruby on Rails 初心者でも素早く本格的なアプリ機能を装備することができるんですね。
アプリ内で使いたい機能を持つgemを Gemfileに、
gem 'gem名'
のように記述します。(ここでは、具体的なgemの種類については割愛します。)
また、Gemfile内のrailsの記述を、
~
gem 'rails', '5.2.3'
~
のように使いたいバージョン(今回はver.5.2.3)で固定します。
先ほど--skip-bundle
コマンドでgemのインストールをスキップしたので、ターミナル上で
bundle install
を実行します。
##何を行っているのか
-
bundle install
bundler というgemを使って、Gemfileの記載内容に従ってgemをインストールするためのコマンド
#サーバーの立ち上げ
実際にサーバーを立ち上げてみましょう!ターミナル上で
rails server
を実行します。
##何を行っているのか
-
rails server
rails new
コマンド で作ったRailsアプリケーションを、local環境でサーバーに繋ぐ指示
rails server
は、rails s
でもOK
ターミナル上で以下のようなログが流れればサーバーとの接続が完了です!
=> Booting Puma
=> Rails 5.2.3 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.12.6 (ruby 2.5.1-p57), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop
ブラウザ上で確認してみましょう!
localhost:3000 にアクセスします。
無事にサーバーへ接続できました!
#終わりに
最後までご覧いただきありがとうございました。
今後はdeviseでのユーザー登録方法、Docker上でのRoR環境構築なども記事にしたいなあと考えています(いつになるかは未定)。
また、この記事に関して不明な点等ありましたら、お知らせくださると幸いです。
早くエンジニアとして「駆け出したい」ですね。
それでは!
#参考にしたWebサイト