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.

Rails 部分テンプレートの呼び出し"render"エラー

Last updated at Posted at 2021-06-25

Renderメソッドが正しく読み込まれない!!

状況

・Railsを使ったアプリケーションの制作中
・アプリの新規登録画面new.html.erbを作成中。
・このトップページは、SamplesコントローラーのnewアクションのViewとする。
・Viewの記述に、renderメソッドを使用して部分テンプレートを呼び出そうとした。

エラー画面
スクリーンショット 2021-05-29 10.57.24のコピー.jpg

Samplesコントローラーのindex.html.erbには

<%= render ‘shared/second-header’ %>

と記述している。
一見、間違ってなさそうだけど、なぜ?

原因と解決

理由は単純でした。
部分テンプレートの_second-header.html.erbのディレクトリです。
views/devise/shared/_second-header.html.erb
にあるので、
views/samples/new.html.erb
にあるnewファイルからの呼び出しをするならば

<%= render ‘devise/shared/second-header’ %>
# テンプレートの呼び出しの時は、頭のアンダーバー _ は省略可。

と書かなければ呼び出したいファイルの位置までたどれません。
同じviewsファイルの中にはありますが、
その後はdeviseフォルダsamplesフォルダで分かれていますので、
同じディレクトリに存在しない場合は、しっかりと上の階層のフォルダから指定するということですね。

単純なんですが、ディレクトリの確認は重要です。

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?