1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

プログラミング学習日記

Last updated at Posted at 2021-01-27

2021/01/27 day22
Ruby on Rails Twitterクローン課題

今日からTwitterと並行してQiita活用していく!!

Rails入って、難しくて理解に苦しんでたけど
すこーーーしずつ理解できてる。気がする。笑
アリの歩くスピードレベルだけど、もっと頑張ろう

※今日学んだことを殴り書きで貼り付けてます。
意味わからないところばかりだと思うけど自分でわかるように書いているのでご容赦下さい。
あとまだ理解不足なところばかりなので、明らかに違う!というところは何かアドバイスください、

コントローラーの@word の部分は、
@words = Word.all だと.allで複数のレコードをDBから持ってくるから複数形で@words sをつける

@word = Word.new  これだと .newで一つのインスタンスを生成するから word s つけない
こういう形で区別していく

コントローラーのアクションは全く別物だから、同じ単語でもエラーにならない
それぞれのファイルに


def index
    @words = Word.all
  end

def index
    @words = Word.all
ここにrender:index がある。これはindexファイルに飛ばすためのもの。だけどdef indexでもう指定してあるので書く必要なし。ただ、他のファイルに飛ばしたい場合は、
render:new など他のファイルにとぶ。この場合render:の方が優先される
new,showなども同様
  end

このツイッタークローンでいうここは、新規の画面をnewアクションとcreateアクションの2段階で登録

def new
    @word = Word.new
  end

  def create
    Word.create(word_params)
    redirect_to new_word_path
  end

twitterクローンでいうアクション詳細

スクリーンショット 2021-01-27 23.01.08.png

リソース=処理の対象になる情報、特定の資源
Twitterクローンでいうと、Twitter全体の情報


def create
    ((# binding.pry))
    @word = Word.new(word_params)
    if @word.save
      redirect_to new_word_path
    else
      render :new
    end
省略

private
  def word_params
    params.require(:word).permit(:content)
  end

(word_params) これは、privateで取得したやつを引数で(word_params)で取得している

❶if @word.save
      redirect_to new_word_path
 ❷   else
      render :new

❶もし、(word_params)で取得した値がsave(投稿)できたら、new.html.erbのページにリダイレクトする(投稿ボタンを押した後の画面、初めの投稿する前の↓の画面に戻る。)
スクリーンショット 2021-01-27 22.42.26.png

❷そうじゃなかったら、

def new
    @word = Word.new
  end

newアクションが起きる→new.html.erbのページになって、エラー文がでる

paramsとデバックがまだよく理解できない、

学習開始してもう3週間すぎた。。
まだまだ学ぶことたくさんあるけど楽しんでやります

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?