Railsbefore_actionでインスタンス変数を設定するとミスリードが多くなりがちなのでそれに対する話。6.0.3.1(前提として)before_actionとはActionControllerが提供するフィルタの機能の一種。indexやshowなどのアクション定義をしているメソッドに対してそのメソッドを実施する前に実行するメソッドを設定することができる。endendこのメソッドはエラーメッセージをflashに保存し、ユーザーがログインしていない場合にはログインフォームにリダイレクトするというシンプルなものです。「before系」フィルタによってビューのレンダリングやリダイレクトが行われると、このアクションは実行されません。インスタンス変数をsetしている。before_actionと記述が近いのである程度見通しとして記述を把握しやすいが、destroyの記述はとおいので記述が遠くなるので、事前に行われる記述としてはキャッチがしづらくなる。各action内で使われない値であれば問題はないのだが、だいたいはsetしたいものはactionの処理で使うようなデータ(Modelの取得、など)のことが多いので、各actionでインスタンス変数名を書きたい場合にbefore_actionで定義したメソッドの中まで見ないといけなくなる。インスタンス変数の値の変更がわかりづらくなる各actionでインスタンス変数を利用したい場合にどのようなデータが定義されたかなどを見る必要があるのと、action単体で見るとインスタンス変数が突然登場したりするケースがあるので、ちゃんと読み解かないとbefore_actionでセットされていることが気付けずデータの代入を読み違う可能がある。インスタンス変数のため普通にprivateメソッドなどで値の変更を行っているとより内容がわからなくなる。後略end更にいうのであればインスタンス変数のセットを各アクションでやってあげたほうが明快になる。2日目にリモート登壇してきました。「入門『状態』」という内容で登壇してきました。(3)はてなブログをはじめよう!shinkufencerさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。