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

$this->redirect()->toRoute()の謎に迫る

Last updated at Posted at 2017-03-18

ハマるってなかなかふかいです。でもハマりから抜け出せたときの爽快感はハマったものしかわからないですね。

どうしてreturnがいるの?

コードを書いていると、こういうのをよく見かけますね。

returnがついている
return $this->redirect()->toRoute(...);

なんでかな〜どうしてかな〜って思いませんか?
意味なく付けるおまじないほど後々バグの温床になるといつも意識していて

returnがついている
$this->redirect()->toRoute(...);

で実装してみました。そうしたら「おぉちゃんとリダイレクトするやんか〜」ってことで置いておいて、他との違いを見ることにしました。

「他との違いを見る」のを忘れ、忘却の彼方においてしまいました。
やがて次の画面でセッションで渡された値が必要になりました。

全然取れないのです。どんなにどんなにもがいても。どんどん深みに…ずぶずぶずぶ

そこから何日か過ぎました。色々実装してはそこを見直し、また他を実装しながらソース全体を見直し、
そして他との違いに気づいたのです。

returnついてない:scream:

ということでreturnつけてsession取れました。

"->"これなんていうの?

アロー演算子と呼ばれているようです。ちなみに=>はロケット記法とRubyにはありました。
最近、言語の垣根を超えて色々実装するようになったので、知ってて当然そうな説明は省かれて、初心者にはカオスだったりするんですよね。というかとっくに私は初心者の域は当然脱しておりますが、いまさら知ったのでした。

toRoute(...)の君

君というか黄身。要するに卵の中身の大切な部分のことだけど、色々わかってきたので別の記事にしよっと。

(放置してRubyに夢中になったら君のことすっかり忘れちゃったよ。)
また戻ってきたので続き書くぞ宣言

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