我使用
--api
标志创建了一个 Rails API。
我想使用自定义 HTML 文件设置根路由。
这是我的
routes.rb
:
Rails.application.routes.draw do
namespace :api do
namespace :v1 do
resources :pros
resources :browsers
resources :payment_methods
resources :prosps
resources :prosp_likes
resources :prosp_comments
resources :prosp_images
resources :recommendations
resources :recommendation_likes
resources :recommendation_comments
resources :recommendation_images
end
end
root "home#index"
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
这是我的
home_controller.rb
:
class HomeController < ApplicationController
def index
render 'home/index'
end
end
这是我的
views/home/index.html.erb
:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>hi</h1>
</body>
</html>
它似乎引导我到我的 HomeController#index 方法,但它没有在浏览器上渲染
<h1>hi</h1>
。
这是我的终端输出:
Started GET "/" for ::1 at 2020-08-24 21:23:18 -0500
Processing by HomeController#index as HTML
Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 104)
不确定我是否错误地进行了某些配置。谢谢你。
适用于导轨-6
class HomeController < ActionController::Base
def index
render render: 'home/index'
end
end
对于 Rails 5,它已经在这里得到解答:Render a view in Rails 5 API
您需要更改 HomeController 以直接使用 Rails,因为这将是一个非 api 控制器:
require 'rails/application_controller'
class HomeController < Rails::ApplicationController
def index
render file: 'app/views/home/index.html'
end
end
路径
app/views/home/index.html
就是你的视野所在。
这里有一个有用的教程,可能会对您有所帮助:
https://gorails.com/blog/how-to-add-a-root-route-to-your-rails-app