ActionController :: UnknownFormat в PostsController # index - PullRequest
0 голосов
/ 02 июля 2018

Я создал _posts_controller.rb _:

class PostsController < ApplicationController
  def index
  end
end

Затем я создал файл index.html.erb в папке "app / views / posts":

<h1> Blog Post </h1>

Затем я добавил это к rout.rb :

Rails.application.routes.draw do
  get 'home/index'

  resources :posts

  root 'home#index'
end

Я перезапустил сервер и получил эту ошибку при попытке доступа к странице индекса сообщений:

PostsController#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.

Ответы [ 3 ]

0 голосов
/ 02 июля 2018

Кажется, PostsController#index файл index отсутствует в папке posts, поэтому создайте index.html.erb в views/posts/ папку

Если проблема не решается после многих попыток, а не тратить на это свое время, вы можете начать все заново, потому что, я думаю, вы находитесь на начальном этапе, поэтому не стесняйтесь и начните с Rails официальный док снова и посмотрим, что происходит.

Надеюсь, это поможет.

0 голосов
/ 02 июля 2018

Спасибо за ваши комментарии. Я получил ответ на свой вопрос.

Я фактически создал текстовый файл в этой папке "app / views / posts" и поместил расширение текстового файла как index.html.erb

Я удалил вышеуказанный текстовый файл. А потом я создал еще один файл в notepad ++ и поместил имя файла как index.html.erb Весь мой предыдущий код остался прежним и работает нормально. Я рад, что нашел проблему, чтобы продолжить изучение Ruby:)

0 голосов
/ 02 июля 2018

Прямо сейчас, из вашего описания, похоже, что ваш root маршрут указывает на несуществующий контроллер. Вам либо нужен HomeController с методом index и каталог app/views/home, в который вы помещаете представление index.html.erb, либо измените маршрут root, чтобы он указывал на 'posts#index'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...