見出し画像

Railsで簡単なメモアプリを作ってみる

RubyのフレームワークRailsを使用して、簡単なメモアプリを作ってみようと思います。初学者の投稿ですので、同じように作っても動かない可能性がありますのでご了承ください。

開発環境

macOS Catalina バージョン10.15.5
ローカル開発
macの標準ターミナル
GoogleChrome
サーバー:MySQL
エディタ:VScode
ruby 2.5.1 Rails 5.2.4.3 mysql Ver 14.14

バージョン確認方法

ターミナルで以下のコマンドを入力することで確認できます。
ruby -v
rails -v
mysql --version

アプリの立ち上げ

ここから引用部分はターミナルコマンド
背景黒塗りはエディタの内容にしていきます。

cd
cd desktop :デスクトップに移動(好きな場所でいいです)
rails new memo_app -d mysql :アプリの作成(名前はmemo_app)
cd memo_app :アプリのディレクトリに移動
bundle install :Gemfileの読み込み
rails db:create :データベースの作成

スクリーンショット 2020-06-23 8.20.24

Sequel Proを開いて、memo_appのデータベースが生成されていることを確認します。

rails s :サーバー立ち上げ

スクリーンショット 2020-06-23 8.24.53

http://localhost:3000
ここを開いて上記のRails初期画面が表示されたらサーバー接続完了です。
ちなみにドットインストール を使って、学習していた頃は
この画面をみるのに1日半かかりました(汗

トップページの作成

rails g controller memo index

gはgenerate 要約すると
indexアクション付きのmemo_controllerを作りますよという意味です。
コードは逆から読むとわかりやすいです。

スクリーンショット 2020-06-23 8.31.32

これで一覧ページを作成するために必要なファイルが作られました。app/views/memo/index.html.erbを見てみると以下のようになっています

<h1>Memo#index</h1>
<p>Find me in app/views/memo/index.html.erb</p>

全て削除してこのように変更してください。

<h1>Memo app</h1>

次にトップページに表示させるためのルートを設定します。
config/routes.rb

Rails.application.routes.draw do
 get 'memo/index'
 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

このように変更してください。

Rails.application.routes.draw do
 root to: "memo#index"
end

http://localhost:3000にアクセスしたら
memo_controllerのindexアクションが呼ばれるという意味になっています。
これでもう一度トップページにアクセスすると下記のページになるはずです

スクリーンショット 2020-06-23 8.41.25

controllerにindexアクションの記述をいれていないのになぜ?
と思うかもしれませんが、コントローラーを作成する時に
アクション名をいれておくと、勝手に記述してくれます。

投稿ページの作成

app/controller/memo_controller.rb

class MemoController < ApplicationController
 def index
 end

 def new
 end
end

newアクションを追加します。

app/views/memoディレクトリにnew.html.erbを作成します。
memoディレクトリを右クリックして新しいファイルで作れます。

スクリーンショット 2020-06-23 8.46.35

app/views/memo/new.html.erb

<h1>投稿ページ</h1>

とりあえずこれだけ入力します。

new.html.erbへのルートパスを通してあげます。
config/routes.rb

Rails.application.routes.draw do
 root to: "memo#index"
 resources :memo, only: :new
end

Google chromeでhttp://localhost:3000/rails/info/routesにアクセスすると

スクリーンショット 2020-06-23 8.50.24

このようにnewアクションへのパスが通っていることがわかります。

リンクの作成

app/views/memo/index.html.erb

<%= link_to '新規投稿', '/memo/new' %>

これで新規投稿ページへ遷移できるようになります。
新規投稿ページからトップページへ戻りたいので

app/views/memo/new.html.erb

<%= link_to 'トップページ', '/' %>

これでOKです。
ブラウザで確認すると、行ったり来たりできるようになっているはずです。

トップページ

スクリーンショット 2020-06-23 8.57.21

投稿ページ

スクリーンショット 2020-06-23 8.57.25

とりあえず今回はここまでで終わります。
次回モデル作成とフォームの作成をまとめていきます。

(2)Railsで簡単なメモアプリを作ってみる
 → https://note.com/john01/n/ne74455816d99

ここまで読んでいただきありがとうございます。
間違っている点があれば指摘していただけるとありがたいです。

この記事が気に入ったらサポートをしてみませんか?