使用 Rails 3.2.2 和 ruby 1.9.2,我无法在生产中提供资产。在为 webapps 配置服务器方面没有真正的经验。
我在 applictation.html.erb 中有以下代码,
<a href="/"><img src="/assets/topbar.png" border="0" alt="My LOGO"></a>
我将 topbar.png 放在 app/assets/images/ 中。它在开发模式下按预期工作,当 png 存在时显示,如果我删除 png 则不显示。
它不会出现在生产中。到目前为止,我们已经完成了以下工作。该应用程序确实运行,但它没有显示上述资产。
<VirtualHost *:8081>
ServerName dev.mycompany.com:8081
DocumentRoot /var/www/vhosts/dev.mycompany.com/webapps/
# PassengerAppRoot /var/www/vhosts/dev.mycompany.com/webapps/testapp/public
# PassengerLogLevel 3
RackBaseURI /myRailsTest
<Directory /var/www/vhosts/dev.mycompany.com/webapps/myRailsTest>
AllowOverride all
Allow from all
Options -MultiViews
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode on
</IfModule>
</Directory>
</VirtualHost>
我需要做更多的事情来配置 apache 服务器吗?我正在阅读此内容:http: //guides.rubyonrails.org/asset_pipeline.html,但发现它对于新手来说非常密集。
我可以尝试什么?我读到的一件事是:“您应该将 app/assets 用于在提供服务之前必须经过一些预处理的文件。在生产中,Rails 默认将这些文件预编译为 public/assets。” 但实际上,我看不出它是为我做的。那是问题吗?谢谢!