首先应该说我之前从未使用过Rails,这是第一次看到Ruby并使用Node和MEAN堆栈应用程序。
rails new my_api --api
我有一个React前端应用程序,我想用Rails API后端运行。我希望这两个部分存在于同一个应用程序目录下,但要将它们分开。我想运行Webpack和所有React的东西,而不用处理Rails的资产管道或使用React-Rails或其中任何一个。
我遇到的问题是提供包含整个前端应用程序的frontend/dist/index.html
文件。
结构
application
/api
/app
/controllers
application_controller.rb
/config
routes.rb
/frontend
/dist
index.html
bundle.js
的routes.rb
Rails.application.routes.draw do
root to: "application#index"
end
application_controller.rb
class ApplicationController < ActionController::API
def index
render :file => '../frontend/dist/index.html' and return
end
end
到目前为止我能说的是Rails只会提供放在index.html
内的/public
文件。如果我在/api
内创建另一个目录,该目录将被忽略,并且始终默认为/public
。
如何覆盖查看/public
内部的默认行为并指示我要在哪里提供索引文件?