gpt4 book ai didi

api - Rails 5 仅限 api 的应用程序,带有主页

转载 作者:行者123 更新时间:2023-12-02 08:45:01 25 4
gpt4 key购买 nike

我已经生成了一个 Rails 5 api 应用程序。但我想要我的应用程序带有主页。为此,我生成了一个家庭 Controller 并在各自的views/home/index.html.erb中添加了 View 文件

但是当我尝试访问它时,我得到了以下响应

Started GET "/home/index" for 127.0.0.1 at 2016-07-14 11:14:03 +0530 Processing by HomeController#index as HTML Completed 204 No Content in 0ms

Started GET "/home/index.js" for 127.0.0.1 at 2016-07-14 11:14:20 +0530 Processing by HomeController#index as JS Completed 204 No Content in 0ms

但我看不到网络上显示的索引页内容。

请分享您的想法。

最佳答案

我也遇到了同样的情况,尝试制作一个仍然可以从单个 html 页面引导的 Rails 5 API 应用程序(在加载时由 JS 接管)。从 rails source 窃取提示,我创建了以下 Controller (请注意,它使用 Rails' 而不是我的 ApplicationController 作为这个单独的非 API Controller )

require 'rails/application_controller'

class StaticController < Rails::ApplicationController
def index
render file: Rails.root.join('public', 'index.html')
end
end

并将相应的静态文件(纯.html,而不是.html.erb)放入public文件夹中。我还添加了

get '*other', to: 'static#index'

routes.rb的末尾(在我的所有api路由之后),以启用保留客户端路由以进行重新加载、深层链接等。

如果没有在routes.rb中设置root,Rails将直接从公共(public)调用/提供服务,否则将在非api路由上命中静态 Controller 。根据您的用例,添加 public/index.html (没有 routes.rb 中的根)可能就足够了,或者您可以实现类似的事情,而无需奇怪的 StaticController通过使用

get '*other', to: redirect('/')

相反,如果您不关心路径保存。

我很想知道其他人是否有更好的建议。

关于api - Rails 5 仅限 api 的应用程序,带有主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38366501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com