質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

4068閲覧

missing a template for this request format and variant. Ruby on Rails

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2018/02/09 04:47

編集2018/02/10 21:37

エラー内容
ActionController::UnknownFormat (Users::TimelinesController#index is missing a template for this request format and variant.

request.formats: ["text/html"]
request.variant: []

NOTE! For XHR/Ajax or API requests, this action would normally respond with 204 No Content: an empty white screen. Since you're loading it in a web browser, we assume that you expected to actually render a template, not nothing, so we're showing an error to be extra-clear. If you expect 204 No Content, carry on. That's what you'll get from an XHR or API request. Give it a shot.):

timelines controllerにおいてindex.htmlがないよ。と言われているのだと解釈しているのですが、あってますでしょうか?
viewsの中にきちんとindex.html.slimファイルがあるのになぜmissing a templateと言われるのでしょうか?
![イメージ説明]

routes.rb

Rails.application.routes.draw do namespace :users do resources :timelines end root to: 'home#index' end

timelines_controller.rb

class Users::TimelinesController < ApplicationController def index end def show end end

テンプレートエンジンにslimを導入しています。

追加事項
Started GET "/users/timelines" for 127.0.0.1 at 2018-02-11 06:32:48 +0900
Processing by Users::TimelinesController#index as HTML
Completed 406 Not Acceptable in 89ms

ActionController::UnknownFormat (Users::TimelinesController#index is missing a template for this request format and variant.

request.formats: ["text/html"]
request.variant: []

NOTE! For XHR/Ajax or API requests, this action would normally respond with 204 No Content: an empty white screen. Since you're loading it in a web browser, we assume that you expected to actually render a template, not nothing, so we're showing an error to be extra-clear. If you expect 204 No Content, carry on. That's what you'll get from an XHR or API request. Give it a shot.):

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gouf

2018/02/09 17:09

Controller と view の位置はどこにありますか? (Rails プロジェクトの app 以下の正確なパス名は)
退会済みユーザー

退会済みユーザー

2018/02/10 00:46

controllerが、app/controllers/users/timelines_controller.rb。viewがapp/views/users/timelines/index.html.slimです。
gouf

2018/02/10 04:38

Web ブラウザに表示されるエラーメッセージではなく、rails server コマンドで立ち上げたあとの出力には「この位置にファイルを置きなさい」みたいな指示はありますか?
退会済みユーザー

退会済みユーザー

2018/02/10 21:39

追加した情報がrails serverでのエラーメッセージ全文ですが、ファイルの位置指定は書いてないように思われます。追加したメッセージ以下はスタックトレース?が表示されています。
guest

回答2

0

ベストアンサー

いくら調べても分かりませんでした。
一度新規にミニマムな Rails プロジェクトを作って動作を確認し,コンペアツール(差分ツール)で比較してみてはどうでしょうか。

具体的には以下の手順です。私もこの手順で作って期待どおりに動作することを確認しています。

rails new hoge -B cd hoge

Gemfile に `gem 'slim-rails' を追加。

rails g scaffold timeline a rails db:migrate

ここで,app/controllers/timelines_controller.rb を app/controllers/users の下に移し,

rb

1class TimelinesController < ApplicationController

rb

1class Users::TimelinesController < ApplicationController

に変える。

routes.rb を

rb

1namespace :users do 2 resources :timelines 3end

に変える。

最後に,app/views/users/timelines/index.html.slim を置く(中身はテキトー)。

そして,

rails s

して,http://localhost:3000/users/timeslines にアクセス。

(もし打ち間違いや書き洩らしがあったらすみません,ご指摘ください)

投稿2018/02/14 14:11

scivola

総合スコア2108

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/15 10:19

routes.rb内のroot to: 'home#index'を削除するとエラーが解消されました。 以前、作成したrailsプロジェクトでは上記の記述があっても今回のようなエラーはでなかったのですが、なぜ今回はエラーがでたのでしょうか。。
scivola

2018/02/15 16:43

んー,不可解です。
guest

0

Gemfile には

rb

1gem 'slim-rails'

を入れていますか?

追試したところ,上記の記述を入れ忘れたら同じエラーが再現しました。
それ以外に再現する方法は見つかりませんでした。

投稿2018/02/13 03:46

scivola

総合スコア2108

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/13 03:55

回答していただいた記述もGemfile内にありました。念のためもう一度 bundle exec bundle installを実行して見ましたが同じエラーがで続けています。 プロジェクトを作り直した方が早いでしょうか?
scivola

2018/02/13 16:39

試しに同じディレクトリー(app/views/users/timelines)に index.html.erb を置いてみるとどうなりますか。
退会済みユーザー

退会済みユーザー

2018/02/14 09:12

index.html.erbも試して見たのですが、やはり同じエラーがで続けています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問