2
4

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.

【ActionView::MissingTemplate】エラー文の意味がわからなかったので調べた

Posted at

出たエラー文を読み取る

ActionView::MissingTemplate in Users#index
Showing /home/vagrant/work/bk2-before_debug/app/views/users/index.html.erb where line #5 raised:

Missing partial users/_newform, application/_newform with {:locale=>[:en], :formats=>[:html, :text, :js, :css, :ics, :csv, :vcf, :vtt, :png, :jpeg, :gif, :bmp, :tiff, :svg, :mpeg, :mp3, :ogg, :m4a, :webm, :mp4, :otf, :ttf, :woff, :woff2, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip, :gzip], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}. Searched in:
  * "/home/vagrant/work/bk2-before_debug/app/views"
  * "/home/vagrant/.rbenv/versions/2.5.7/lib/ruby/gems/2.5.0/gems/devise-4.7.2/app/views"
Extracted source (around line #5):

3 <h2>New book</h2>
4 <%= render 'newform', book: @book %>
5
6
7 <h2>Users</h2>
8

このエラー自体は以下の通りで解決しました。

エラーが示しているviews/users/index.html.erbは
views/books/_newformを引用したかった。

render "newform" を render "books/newform" と変更で解決。

ActionView::MissingTemplate in Users#index

=>
Usersコントローラーにおけるindexアクションにて問題が起こっている様子。

Missing partial users/_newform, application/_newform

=>
_newformというのが共通テンプレートなので
Missing Templeteというのが共通テンプレートを上手く読み込めていないということ(?)

{:locale=>[:en],

=>
localeというのは「度も使う文言を一限管理するために使われる」ファイルらしい。
日時のフォーマットとかエラー文みたいなテンプレートを格納しているっぽい。

探してみるとあった
/config/locale
スクリーンショット 2020-07-18 16.45.51.png
因みにdeviseのerror文もこの中にあった。

この場合はlocale/enを参照しているということかな?

▼参考localeについて
https://qiita.com/d0ne1s/items/89846ebe97c9114865ca

:formats=>[:html, :text, :js, :css, :ics, :csv, :vcf, :vtt, :png, :jpeg, :gif, :bmp, :tiff, :svg, :mpeg, :mp3, :ogg, :m4a, :webm, :mp4, :otf, :ttf, :woff, :woff2, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip, :gzip]

=>
読み取るに当たり、対応したフォーマットということ?

:variants=>[]

=>
variantsとはActionPackの一つのようで、違うデバイスでページを閲覧する際に何某かを便利にしてくれるview関係のファイルを生成するなにかを定義してくれているっぽい(適当。。)。
▼参考Variantsについて
https://www.techscore.com/blog/2014/03/13/rails-4-1-0-actionpack-variants/

又、ActionPackというのはRailsに実装されているMVCのviewとcontrollerをうまいこと動かしてくれるパッケージのことらしい。
terminalで$rails g controller でコントローラーを生成する定義は
このActionPack内で定義されているそうです。(深追いすると時間かかりそうなので今回はこの程度の理解にとどめます。。理解が間違っていたらご指摘ください!)
▼参考ActionPackについて
https://qiita.com/toda-axiaworks/items/19be2ac4eff13c46dca9

この場合はvariantsは特に関係していないからブランクということ?
わからん…

:handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]

=>
正常系においては起動しないが、あるイベントが起こると起動するプログラムのことだそうです。
▼参考(ハンドラーについて
http://mh.rgr.jp/memo/mg0038.htm#:~:text=%EF%BC%9E%20%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E-,%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%20%EF%BC%88handler%EF%BC%89,%E3%81%AF%E5%BE%85%E6%A9%9F%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%80%82&text=%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%EF%BC%88interrupt%20handler%EF%BC%89%E3%81%A8,%E5%BE%85%E6%A9%9F%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%80%82

この場合は…わからん…

Searched in:

  • "/home/vagrant/work/bk2-before_debug/app/views"
  • "/home/vagrant/.rbenv/versions/2.5.7/lib/ruby/gems/2.5.0/gems/devise-4.7.2/app/views"
    =>
    自分で作ったviewとdeviseで作られたviewを探しましたよという意味(?)
    わ…か……らん…(バタッ

所感

明確にファイルとして存在しているキーワードは大凡検討付くが、
システム名称?などは想像の範疇でしかない。。

分かり次第追記してゆきます。

補足ある方コメント下さいm(_ _)m

2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?