ActionView :: MissingTemplate, хотя шаблон существует - PullRequest
0 голосов
/ 06 ноября 2018

Я создаю простой экран входа в систему. Я хотел бы вернуть :internal_server_error своему клиенту, если нет подходящего пользователя или если пароль неправильный. Однако я получаю следующую отсутствующую ошибку шаблона:

ActionView :: MissingTemplate (Отсутствует шаблон входа / индекс, application / index с {: locale => [: en],: format => [: json], : варианты => [],: обработчики => [: raw,: erb,: html,: builder,: ruby, : coffee,: jbuilder]}. Поиск в: * "C: / Полка / myGroceryList / приложение / просмотров"

Что меня смущает, так это то, что у меня есть шаблон index.html.erb в views/login. Мысли?

Маршрут:

  post '/login', to: 'login#show'

Контроллер (login_controller.rb):

class LoginController < ApplicationController
  protect_from_forgery with: :null_session

  def index

  end

  def show
    username = params.values.last["email"]
    password = params.values.last["password"]
    loginType = params.values.last["loginType"]

    if loginType == "Login"
      login(username, password)
    else
      createNewUser(username, password)
    end
  end

  def login(username, password)
    begin
      user = User.find_by(username: username)
      raise(StandardError) if user.password != password
    rescue
      render 'index', :status => :internal_server_error
    end
  end

  def createNewUser(username, password)
    User.new(username: username, password: password)
  end
end

Просмотр (index.html.erb):

<body><%= javascript_pack_tag 'login' %></body>

1 Ответ

0 голосов
/ 06 ноября 2018

ActionView :: MissingTemplate (Отсутствует шаблон входа / индекс, application / index с {: locale => [: en],: format => [: json], : варианты => [],: обработчики => [: raw,: erb,: html,: builder,: ruby, : coffee,: jbuilder]}. Поиск в: * "C: / Полка / myGroceryList / приложение / просмотров"

Ошибка говорит, что не может найти файл с именем index и с форматом json . Поскольку у вас есть API , вероятно, запрос / ответ будет иметь формат json , а не html . При этом вам нужно создать a index.json.erb внутри app/views/login, чтобы устранить ошибку.

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