katotatsu1213のブログ

プログラミング学習の過程を記録しようと思います

Ruby on Railsについての基礎と学びながら実装したアプリケーションについて

お疲れ様です!

今日はrailsについて学びながら最初に作成した簡単なアプリについて復習がてら話していこうと思います!(土日の学習内容)

 

実際に作成したアプリはコメント投稿アプリです。

railsコマンドを使用してアプリケーションの作成をします。この時、-dオプションも使用してデータベースの管理システムをmysqlにしました。

基本今までmysqlで作成しています!

 

アプリを作成したらまずrails db:createでデータベースを作成します。作成したSequel Proでデータベースの中身をわかりやすく視覚化して確認できるように

しています。

 

ここでRailsアプリケーションの流れを学びいざアプリ開発の一歩目を踏み出しました!

流れとしてリクエストに対してルーティングで振り分け、コントローラーでリクエストを処理してクライアントにビューをレスポンスとして返します。

この時にデータベースにあるデータを取り出したりまたは保存する際などはコントローラーからモデルを通してコントローラーに戻りビューに流れるといった感じです。

言葉足らずもしくは違うと思った方はコメントお願いします!

 

ではアプリ開発に移ります。まずはルーティングの設定から行いました。この時にルーティングの設定の記述方法は色々と種類があるので是非調べてみてください。

次にコントローラーを作成しました。

この時に自分でファイル作成するのではなくrails g contorollerコマンドを使用して作成するとエラーが少なくなります。

例えばファイル名にスペースが入ってしまったりclass名の記述ミスがあったりと最初からつまずいてしまうのでできるだけ避けるために使用していました。

ちなみにrails g controller コントローラー名(複数形) index

とするとコントローラー内にindexアクションが生成されます。

 

次にビューの作成を行いました。

この時ブラウザに表示できるのはHTMLファイルだけですがrubyを埋め込むことができるERBというテンプレートエンジンという仕組みを使用します。

実際にRubyの記述を埋め込む際は<%= Rubuコード %>という形で画面上に表示できるようにします。

また、今まで学習してきた条件分岐や繰り返し処理など表示しない記述の場合は

<% Rubyのコード %>と行った形で記述します。

 

次に投稿した内容つまりデータを管理するためにモデルの作成を行いました。

この際にコントローラーでの使用したrails gコマンドを使用しました。

モデル名は命名規則により単数系で入力しました。

モデルを作成するとマイグレーションファイルも作成されるのでカラム名やカラムの型を編集してマイグレーションを実行しました。

 

次にトップページは完了したので次は新規投稿ページを作成します。

先程と作成する順序は一緒ですが新規投稿となるのでnewアクションを使用します。

 

また、先程と違う点はフォームを作成してデータを送信できるように編集する必要があります。

Railsではヘルパーメソッドを使用してフォームやリンクの実装を行います。

実際に慣れてくるとパスの指定やRubyの埋め込みなどの記述がシンプルになるので可読性も上がりました。

 

フォームが完了したらサーバー側のアクションの追加などを行って無事データベースに投稿内容が表示され保存も完了しました。

 

今日の作業内容は夜にあげます!

明日の復習内容はさらにアクションを増やした写真投稿型アプリの学習内容について話せればなと思います。

では!!