0

我已在 Rails 4 应用程序index.html的目录中放置了一个文件,public但它仍将这个已删除的文件显示为 rails 欢迎页面。我在开发模式下使用 Webrick。我有另一个在设置中几乎相同的应用程序,它工作正常。

4

3 回答 3

3

如上所述,Rails 4 已删除 /public 文件夹中的默认 index.html 页面。如果您无论如何都想实现该功能,则必须手动渲染页面。只需创建一个控制器,然后在您选择的控制器操作中呈现索引页面,如下所示:

def index
  render :file => 'public/index.html' and return
end

编辑:如果您想在不使用 Rails 堆栈的情况下提供文件,则必须配置您的 Web 服务器(Apache/Nginx/whatever)来执行此操作。NginxApache的配置。此外,您必须在配置中通过设置serve_static_assets为 false 来禁用 Rails 的静态文件渲染:

config.serve_static_assets configures Rails itself to serve static assets. Defaults
to true, but in the production environment is turned off as the server software (e.g.
Nginx or Apache) used to run the application should serve static assets instead.
Unlike the default setting set this to true when running (absolutely not recommended!)
or testing your app in production mode using WEBrick. Otherwise you won´t be able use
page caching and requests for files that exist regularly under the public directory
will anyway hit your Rails app.

因此,如果您想在开发模式下使用它,config.serve_static_assets请在environments/development.rb.

于 2013-09-10T11:36:25.143 回答
1

Rails 4 使用动态 index.html。阅读http://blog.remarkablelabs.com/2012/12/dynamic-index-html-rails-4-countdown-to-2013

于 2013-09-08T17:23:14.030 回答
0

在导航器中按F5,索引可以在缓存中。

于 2013-09-08T14:41:40.930 回答