Последние пару дней я пытался запустить свой проект https://github.com/robdrosenberg/news-hunt на Heroku, и heroku не будет показывать мою публичную страницу / index.html.
Вот ошибка, которую я сейчас получаю:
ActionController::RoutingError (No route matches [GET] "/")
Эта ошибка возникла во всем StackOverflow, и я перепробовал столько решений, сколько смог.
Например, маршрутизация к файлу напрямую через контроллер приветствия также выдает ошибку
Маршруты
Rails.application.routes.draw do
post 'user_token' => 'user_token#create'
post 'users' => 'users#create'
namespace :api do
get 'reddit' => 'posts#reddit'
get 'producthunt' => 'posts#producthunt'
get 'medium' => 'posts#medium'
get 'hackernews' => 'posts#hackernews'
get 'githubtrending' => 'posts#githubtrending'
get 'all' => 'posts#all'
get 'bookmarks' => 'bookmarks#index'
post 'bookmarks' => 'bookmarks#create'
delete 'bookmarks' => 'bookmarks#destroy'
end
root 'welcome#index'
end
Контроллер
class WelcomeController < ApplicationController
def index
render file: Rails.root.join('public','index.html')
end
end
Error
ActionView::MissingTemplate (Missing template public/index.html with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder]}. Searched in: app/app/views
Изменение config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
на = true не имеет значения.
Я пытался использовать перенаправления, которые приводили к сбою приложения из-за слишком большого числа перенаправлений.
То, что я нахожу странным, это когда я пытаюсь отобразить файл, который он ищет, непосредственно в папке app / views. Все отлично работает локально, так что должно быть что-то с производственной средой и Heroku.
Я использую Rails в режиме API и использую Vue через CDN в моем файле index.html.
Я развернул другой проект таким же образом, и у меня не было проблем. Вы можете найти эту кодовую базу здесь: https://github.com/robdrosenberg/commitment-ledger.
Любая помощь очень ценится!