サービスを運営していると、 Admin以下のページだけちょっとヘッダーを変えたい ABテストのために2種類のレイアウトを試してみたい キャンペーン用にある期間だけ別のロゴを使いたい ユーザー登録ページだけ簡易レイアウトにしたい などなどの理由で、app/views/layouts/application.html.erbと大体同じだけど、ちょっと違うというレイアウトが欲しくなります。ただ、コピペでいろんなレイアウトを作ってしまうと後の変更が困難になります。Layoutでもデフォルト値や継承を使って再利用性の高いものを作りましょう。 方法1 Default content_for あるyieldに対応するcontent_forがセットされなかった時のデフォルト値を定める方法です。 yieldは普通の文字列を返す関数で、値がセットされていなければ""が返ります。なのでempty?を使って値がセ
![Application Layoutを整理する3つの方法 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/9e01c16a433b0e5edcbcfead2ba479d9d344f61c/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9QXBwbGljYXRpb24lMjBMYXlvdXQlRTMlODIlOTIlRTYlOTUlQjQlRTclOTAlODYlRTMlODElOTklRTMlODIlOEIzJUUzJTgxJUE0JUUzJTgxJUFFJUU2JTk2JUI5JUU2JUIzJTk1JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02MzkwNTYyZjAxNzUwYTBiMzZkYTgyMzVjOWIwNzIxOA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwYXdha2lhJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iNzY5NDA1MWNjZTM2ZTdlOWZjZTgyM2Q4NTg1NzE3Zg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D0bf42d36813672dfa8dd4ffc647c98a9)