I have a single-page application written in React with Ruby on Rails back-end (API mode). Rails is also serving static files. I'm pointing Rails router to public/index.html
, so my SPA could manage his own routing with react-router
. This is common practice in order to make direct links and refresh to work.
routes.rb
match '*all', to: 'application#index', via: [:get]
application_controller.rb
class ApplicationController < ActionController::API
def index
render file: 'public/index.html'
end
end
The problem is this doesn't work in API mode. It's just an empty response. If I change the parent class to ActionController::Base
everything works as expected. But I don't want to inherit the bloat of full class, I need slim API version.
I've tried adding modules like ActionController::Renderers::All
and AbstractController::Rendering
without success.
render_to_string file: 'public/index'
– Lettielettish.html
– Lettielettishrender html: 'file_name'
? – LettielettishActionController::Base.helpers.render file: 'public/index.html'
– Lettielettishrender html: File.open('public/index.hml')
with no luck. – Religiose