Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rails应用程序的开发和生产模式中,公共资产的服务有何不同?_Ruby On Rails - Fatal编程技术网

Ruby on rails 在rails应用程序的开发和生产模式中,公共资产的服务有何不同?

Ruby on rails 在rails应用程序的开发和生产模式中,公共资产的服务有何不同?,ruby-on-rails,Ruby On Rails,我在开发和生产中运行相同的rails 5.1.5应用程序。在开发环境中,一切都按预期工作。在生产中,我最初无法提供公用文件夹中的静态资产。我在production.rb中设置config.public_文件_server.enabled=true。但是,由于我页面上的每个请求都在授权之后(作为应用程序控制器中的:before_操作),因此设置授权cookie的.js文件也不会在未经授权的情况下提供,我的服务会陷入循环。这在开发模式中不会发生,公共资产也不会通过rails路线请求。我需要关于rai

我在开发和生产中运行相同的rails 5.1.5应用程序。在开发环境中,一切都按预期工作。在生产中,我最初无法提供公用文件夹中的静态资产。我在production.rb中设置config.public_文件_server.enabled=true。但是,由于我页面上的每个请求都在授权之后(作为应用程序控制器中的:before_操作),因此设置授权cookie的.js文件也不会在未经授权的情况下提供,我的服务会陷入循环。这在开发模式中不会发生,公共资产也不会通过rails路线请求。我需要关于rails应用程序的开发和生产模式中公共资产的服务如何不同的指导

我认为这可能是由于您的生产配置出现问题。例如,在生产环境中,您不允许Rails进程提供静态资源。您应该将静态资产设置为由Web服务器提供服务。您可以通过向Apache或Nginx虚拟文件添加以下配置来完成此操作

DocumentRoot/home/xxx/test/public


root/var/www/phindee/current/public

看看这个:在开发和生产中,我都让rails提供静态资源,因为Puma没有提供静态文件服务(据我所知)。为什么在开发中绕过路由而在生产中不绕过路由?