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

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

ただいまの
回答率

88.80%

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,610
退会済みユーザー

退会済みユーザー

エラー内容
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.):

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • gouf

    2018/02/10 02:09

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

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2018/02/10 09:46

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

    キャンセル

  • gouf

    2018/02/10 13:38

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

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2018/02/11 06:39

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

    キャンセル

回答 2

checkベストアンサー

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 の下に移し,

class TimelinesController < ApplicationController

class Users::TimelinesController < ApplicationController

に変える。

routes.rb を

namespace :users do
  resources :timelines
end

に変える。

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

そして,

rails s

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/02/15 19:19

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

    キャンセル

  • 2018/02/16 01:43

    んー,不可解です。

    キャンセル

0

Gemfile には 

gem 'slim-rails'

を入れていますか?

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/02/13 12:55

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

    キャンセル

  • 2018/02/14 01:39

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

    キャンセル

  • 2018/02/14 18:12

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

    キャンセル

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

  • ただいまの回答率 88.80%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る