LoginSignup
2
2

More than 5 years have passed since last update.

ツイート投稿の旅(MVC)

Last updated at Posted at 2019-01-18

①tweet投稿!

 ▶︎ビュー

  L httpメソッド:post
  L パス(URL):/tweets/


②サーバー通過!

  L post '/tweets'


③ルーティングでルート選択

  L tweets(コントローラーの)#create(postだったらこのアクション)へLet's Go!


④コントローラーで保存先を決定

Tweet(モデルへ).create([保存]アクションをするよ)

  def create
    Tweet.create(tweet_params)
  end

  private
  def tweet_params
    params.permit(:text)
  end


⑤コントローラーで保存先&内容決定

 ⑤-1 ストロングパラメーター

    ▷保存内容を厳選!    ▷セキュリティ強化!

tweet_params

どんな内容になってるのか、覗いてみよう!

⑤-2  params

params.permit(:text)
  ▶︎params:いくつもの情報※が入っている(=大きなハッシュ[キー:バリュー])

   ▷キー:name属性 (view>tweets>new.html.erb) 
   ▷バリュー:入力された情報 (form_tagで指定したパスより)

  ▶︎binding.pry   ※いくつもの情報を確認する方法

   L(1) : def create(止めたいアクション)の下に記載
   L(2) : web site上で、確認したいアクションを実行(投稿ボタンを押す など)
   L(3):ターミナルに【キー:バリュー】のハッシュスタイルで情報が出力される
 

見えたところで、今回保存したいのは【text】だ!

  ▶︎permit:許可する

  (:text) これでテキストだけ保存されるように、指定完了!


⑥モデル通過

数あるモデルの中からTweetモデルを通りまして、

⑦データベースに保存

やっと保存出来たぞ!わーい!わーい!

⑧ビューへ反映

来た順路を帰ります。
 データベース(⑦)→モデル(⑥)→コントローラー(⑤,④)
→(ルーティングは設定が書いてある場所だから、帰りはスキップ!)
→サーバー(②)→ビュー(①)



投稿 の旅、お疲れ様でした!

2
2
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
2
2