Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 执行;资产:预编译“;按代码/客户_Ruby On Rails_Ruby_Assets_Sprockets - Fatal编程技术网

Ruby on rails 执行;资产:预编译“;按代码/客户

Ruby on rails 执行;资产:预编译“;按代码/客户,ruby-on-rails,ruby,assets,sprockets,Ruby On Rails,Ruby,Assets,Sprockets,我有一个站点,有很多图像(+10k),有几百个页面显示,所以我使用RubyonRails资产的原理来编译这些图像。问题是,我的客户端有可能通过FTP更改这些映像,它迫使我每次都用ssh连接到服务器,以启动命令“assets:precompile”。是否有一种方法可以创建一个链接按钮,我的客户端将单击该按钮从代码中启动命令 我试图用where gem()创建一个cron作业,该作业每小时运行一次“assets:precompile”命令,但它不起作用 每小时做一次 rake“资产:预编译” 终止

我有一个站点,有很多图像(+10k),有几百个页面显示,所以我使用RubyonRails资产的原理来编译这些图像。问题是,我的客户端有可能通过FTP更改这些映像,它迫使我每次都用ssh连接到服务器,以启动命令“assets:precompile”。是否有一种方法可以创建一个链接按钮,我的客户端将单击该按钮从代码中启动命令

我试图用where gem()创建一个cron作业,该作业每小时运行一次“assets:precompile”命令,但它不起作用

每小时做一次
rake“资产:预编译”
终止
我试图创建这个链接到链接的方法,但也没有成功

def编译图像
系统('rvm使用2.2。0@project&&cd/var/www/project folder/&&rake资产:预编译“)
重定向到imports\u index\u路径,注意:'imagescompiled'
终止
我使用的是ruby 2.2和rails 4.2


感谢您的帮助

资产编译应仅用于应用程序中使用的静态图像(图标、背景…),而不是站点使用的实际数据

如果它是一个动态的、大量的图像集合,则尤其如此


这不再是一个真正的编程问题,它更像是一个一般的软件工程问题,但这是我的两分钱

我建议您使用CDN将照片提供给浏览器。您的Rails应用程序应该存储(或构建)CDN的URL,以便客户端浏览器能够获取和显示它们

例如,在承载FTP服务器的同一台机器上设置一个HTTP服务器(如Nginx),然后构建一个一致的URL模式,以便可以通过HTTP提供FTP文件,而无需复制

通过FTP添加到服务器的新文件可以通过HTTP自动获得,也许cron作业或异步工作者可以检查新文件并将其注册到Rails应用程序


当然,这只是一个可以做到的例子。有很多其他的解决方案,但是没有更多的细节,很难说。

资产编译应该只用于应用程序中使用的静态图像(图标、背景…),而不是站点使用的实际数据。如果它是一个动态的、大量的图像集合,这一点尤其正确。哦!我不知道。。。目前我使用image_tag()链接我的图像。如何链接我的图像而不使用资产编译?