Ruby on Railsの初学者です。**調べても、いまいち理解できないことがあったので質問します。**ProgateでRuby on Railsを学習していました。学習内容は以下の部分です。
- Tweet_appで新しく投稿を作った際に、もし140字以上で投稿し、新しい投稿ができなかった時にも、新規投稿しようとして記入した内容が消えないようにしたい。
- 新規投稿を司るcreateアクション内で、redirect_toを使って新規投稿ページを表示するようにしていたが、renderを使って直接、新規投稿ページ(new.html.erb)を表示するように変更。
- しかしnewアクションに変数を定義していなかったので、@post = Post.newと変数を新たに定義。
- new.html.erb上で投稿をミスした際も、記入した内容が消えないように表示されるようになった。
ここで理解できなかったんですが、そもそもparams[:content]で投稿内容を取得しているのは、createアクション内ですよね?
newアクションに@postを定義したら、なぜcreateアクションでしか取得されていないはずのparams[:content]の内容まで、newアクションに定義されている変数で使えるようになるのでしょうか?
※もしnewアクション内でparams[:content]の内容を使いたいなら、newアクションでもparams[:content]の内容を取得しないといけないんじゃ・・・?と思いました。
ごめんなさい、説明がわかりにくくて。**そういうものなら、そういうものということで覚えようと思います!**でも、もし理由がわかるようでしたら、教えていただければ幸いです。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/24 22:34