Posted at

RailsでViewをサブディレクトリわけ


経緯

Viewを部分テンプレート化したい場合で、

モデル名のディレクトリ配下にディレクトリを作成して、その下に部分テンプレートを配置したいとなった場合


環境

Ruby 2.4.5

Rails 5.2.2


ディレクトリ構成(例)


  • views


    • users


      • type


        • _male.html.slim

        • _female.html.slim








対応方法


1. 間違った設定

相対パスにすれば良いと思いましたが、違うようです・・・


間違った設定1

= render './type/male'


この設定だと、/views/type/_male.html.slimを表示しようとしてしまいます。


間違った設定2

= render 'type/male'


こちらの設定も、/views/type/_male.html.slimを表示しようとしてしまいます。


2. 正しい設定


正しい設定

= render '/users/type/male'


フルパスでの指定が必要なようです。