【Rails】お問い合わせ機能を実装する【DIVE INTO CODE】

更新日:

「DIVE INTO CODE」学習記録 11日目

こんにちは。

11日目。ブログアプリにお問い合わせ機能を追加。

学習内容

【Rails演習】

  • webアプリケーションとデスクトップアプリケーションの違い
  • Railsにおける哲学、DRYとCoCはどのような意味か
  • gemとは何か
  • どうすればgemを作成し、公開できるか
  • すべてのgemは信用できるものであるか
  • gemの使用の判断基準
  • PostgreSQLとMySQLの違い
  • NoSQLとは
  • MVC以外のデザインパターンについて
  • generateコマンドとしてよく使われるscaffoldとは
  • O/Rマッピングとはなにか
  • sudoコマンドとは
  • serviceコマンドとは
  • schema.rbにてテーブルの状態を確認するメリット
  • schema.rbのその他の役割

【Heroku入門】

  • Herokuとは
  • PaaSとは
  • Heroku構築方法について
  • デプロイとは
  • Herokuでのデプロイ方法

【Rails入門シリーズ課題】

  • お問い合わせ機能の作成
  • ブログ機能作成

 

感想

今回は前半Railsの軽い復習としてRails演習、またHerokuでのデプロイ方法を学び、その後はrails入門シリーズ課題をずっとやってました。

 

最近ずっとrails、railsときてたのでHeroku途中で入ってきたときはすごい邪魔に感じました。

Herokuってなんだよ、変な名前だな、どう読むんだよ。

 

 

Herokuは「へろく」です。まんまです。

 

最近してやられていたのは「Git」です。

なんて読んでますか。

 

これ「ぎっと」って読むそうです。

「GitHub」は「ぎっとはぶ」。

 

ジットではありません。

 

「gif」はジフですが「Git」はギットです。

 

知らないと恥ずかしいですよ。

 

早くrailsやりたい一心でherokuを終わらせ、いよいよ課題へ。

 

最初の課題は「お問い合わせ機能」の作成です。

 

ブラウザからHTTPメソッドで、

パラメータの乗ったリクエストをサーバに送信できるようにするのがメインです。

追加でバリデーションとエラーメッセージもつけてくれとのこと。

 

全部テキストで一回やった内容から出てきております。

 

時間かけてテキスト読み直していたおかげで、割と何しなきゃいけないかが

サッと頭に浮かんできて、

 

 

まずrails g controllerして、Contactって名前でコントローラ作ろう。

 

ルート指定だな、resources :contact doをroutes.rbに書いて・・・

 

newとcreateだけでいいからとりあえずコントローラにnewとcreateのアクションだけ書いて・・・

 

index.html.erbとかはいらないな。newのViewだけ作ろう・・・

 

そーいえばモデルもあったな、モデルをrails gして中にバリデーションだな。140文字以内にするバリデーション確かテキストに乗ってたよな・・・

 

あとエラーメッセージだわ。ビューに直接書き込むんだったけどform_withの使い方いまいち覚えてないわ、インスタンス変数にparamsで引っ張ってきたパラメータ含んだCreate.newを入れるんだよな。見ながらやろう・・・

 

 

 

って感じでこねくり回してたら数回のエラーと戦った後、

何やかんやでお問い合わせ機能完成。

 

やべー成長を実感するわ。

今回ネットでも検索してないですし、DICの質問機能も使ってないですし、

過去に質問履歴を参考にもせず、テキストのカンニングのみで実装できたことが嬉しかったです。

 

まだまだ初歩的な機能だし見た目も何も作ってない質素なやつをテキストカンニングで作っただけですけど。

それでもかなり嬉しかったです。

 

 

2つ目の課題は「Blog機能作成」。

 

テキストを進めてる段階でブログ機能を練習で作っていたので、

今回はどんなの作るんだろう、って思ってたんですが、

 

まさかのテキストで作ったやつを、そのままgithubのリポジトリに入れて、herokuにアップデートしてURL提出するだけ。

 

ブログ機能に手加えるのは140文字以内のバリデーションだけ。

 

これだけかい、てかさっき同じバリデーションお問い合わせ機能でやったわ。

 

って感じでした。

 

確かにgitのコミットとかほんの何日か前にやったはずなのに、

やったのほとんど忘れてましたから復習にはなってよかったんですけど。

 

もう少しなんかあっても良かったのになって思いました。

 

成果物一応載せます。大したものではありませんが。

 

まず最初の画面。

 

「新しくブログを投稿する」をクリックし、ブログを書き込みます。

 

「CreateBlog」を押すと、一旦確認画面が出ます。

投稿した記事はブログ一覧画面で確認可能。

「ブログを削除する」をクリックしたときは、確認画面表示。

 

エラーの際はメッセージを表示。

こっちが課題で作ったお問い合わせ機能。(ブログ機能と内容はほとんど同じです。)

 

以上です。

 

次回はいよいよツイッタークローン作成という大課題に突入します。

だいぶ劣化版ですが。

 

ただ、すぐ始めず一旦寄り道して「Bootstrap」やろうと思ってます。

cssライブラリちゃんとやれるようになってから作ってみたいからです。

 

大課題というのは各シリーズごとのシリーズ課題とは違い、

今までやってきた内容を全て取り入れて行う課題になります。

 

見た目の部分の頑張って作って行きたいと思います。

以上ありがとうございました。

-DIVE INTO CODE
-, , , , , ,

Copyright© s u p ? , 2019 All Rights Reserved.