今日学んだこと

redirect_to

→指定したURLに遷移させることができるメソッド

リダイレクト先の指定方法

URLで指定

redirect_to "URL"

Prefixで指定

redirect_to Prefix名

アクションで指定

redirect_to action: :アクション名

同一のコントローラーで指定したアクション名を指定する.

指定したコントローラーのアクションで指定

redirect_to controller: コントローラー名, action: アクション名

前のページを指定

redirect_to :back

 

ヘルパーメソッドform_withのmodelを2つ指定する理由

→例えばmodelに@problemと@answerを指定し,@problem = Problem.find(2)だった場合,<form>を用いると,

<form action="/problems/2/answers" method="post">

となる.つまり,modelの1つ目に指定した@problemはproblemsテーブルからレコードを1つ抜き出す役割をしている.このように書く必要があるかどうか見分けるにはルーティングでネストを使用しているかどうかで判断すればよいのではないかと思っている.

 

参考文献

https://pikawaka.com/rails/redirect_to (2020/08/02参照)

https://teratail.com/questions/162899 (2020/08/02参照)