0
0

Railsチュートリアル

Posted at

はじめに

Rails触ることになりそうなので、Railsチュートリアルをやりつつ基本を学ぶ。

開発環境

  • docker
  • VsCode

内容

環境構築

  • dockerで環境構築する

  • 前提

    • dockerインストール済み
    • VsCodeインストール済み
    • 拡張機能インストール済み
  • 下記手順ですすめる

  • Visual Studio Code と Docker を使って開発する

  • 「Use this template」をクリックし、リポジトリを作成する
    スクリーンショット 2024-05-12 18.50.42.png

  • ローカル環境にもってくる

git clone https://github.com/<GitHubアカウント名>/<設定したリポジトリ名>.git

スクリーンショット 2024-05-12 18.55.26.png

  • 開発コンテナを開く

スクリーンショット 2024-05-12 19.03.37.png

  • 下記のようになっていれば、起動している状態

スクリーンショット 2024-05-12 19.21.24 1.png

  • バージョンも表示されている

スクリーンショット 2024-05-12 19.27.52.png

チュートリアルすすめる

Railsガイドにそってブログのアプリケーションを作成する

rails new blog
cd blog
  • Webサーバーを起動する
bin/rails server
  • 下記が表示できていればOK
    スクリーンショット 2024-05-12 19.40.58.png

  • Hello, Rails!を表示する
    表示するために「ルーティング」「コントローラ」「ビュー」が必要なので追加していく。

  • routeを追加

config/routes.rb

Rails.application.routes.draw do
  get "/articles", to: "c![スクリーンショット 2024-05-14 7.30.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/923146/abe9d986-c76c-3206-36a4-916ca42a1e3a.png)
#index"
end

  • コントローラーを作成
bin/rails generate controller Articles index --skip-routes
app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
  def index
  end
end

app/views/articles/index.html.erb
<h1>Hello, Rails!</h1>

  • アプリケーションのrootパスをこのコントローラとアクションに対応する
config/routes.rb
Rails.application.routes.draw do
  root "articles#index"

  get "/articles", to: "articles#index"
end
  • Hello, Rails!が表示されるようになった

スクリーンショット 2024-05-12 20.16.05.png

  • Railsアプリケーションは、アプリケーションコードを読み込むのにrequireを書く必要がない。下記の2つの場合は書く必要があり

  • lib/ディレクトリの下にあるファイルを読み込む場合

  • Gemfileでrequire: falseが指定されているgem依存を読み込む場合

MVCを理解する

  • モデルを作成する。モデル名は常に英語の「単数形」で表記すること
bin/rails generate model Article title:string body:text
  • マイグレーションを実行する
db/migrate/20240512220115_create_articles.rb
class CreateArticles < ActiveRecord::Migration[7.1]
  def change
    create_table :articles do |t|
      t.string :title
      t.text :body

      t.timestamps
    end
  end
end
  • 以下のコマンドをたたいて、マイグレーション実行できていればOK
bin/rails db:migrate
  • モデルを用いてデータベースとやりとりする
  • Railsのコンソール機能を使用してみる。コンソールを起動する
bin/rails console
  • irbプロンプトが表示され、先ほど作成したArticleオブジェクトを以下のように初期化してみる(単に初期化されただけの状態であり、まだデータベースに保存されていない状態)

スクリーンショット 2024-05-13 7.07.03.png

  • オブジェクトをデータベースに保存するには、saveメソッドを使用する

スクリーンショット 2024-05-13 7.08.20.png

  • 先ほどsaveした内容が、保存されている

スクリーンショット 2024-05-13 7.08.56.png

  • 記事のリストを表示する
app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
  def index
    @articles = Article.all
  end
end
app/views/articles/index.html.erb
<h1>Articles</h1>

<ul>
  <% @articles.each do |article| %>
    <li>
      <%= article.title %>
    </li>
  <% end %>
</ul>
  • 一覧で表示されている

スクリーンショット 2024-05-13 7.12.34.png

まとめ

Railsさわる機会がなくなったので、一旦ここまでで止め。久しぶりに違う言語をさわると全くわからないってなるけど、いい勉強になった。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0