我想在我的Ruby on Rails应用程序中使用SoundManager2播放声音。它想要的一件事就是带有swfs的目录。我在哪里放,然后如何配置我的声音管理器?我想将它们放在目录/ soundmanager /中并使用JS,如下所示:
<script>
if (soundManager) {
soundManager.setup({
url: '/soundmanager/',
onready: function() {
var myGameMusic = soundManager.createSound({
id: 'music1',
url: 'music1.wav'
});
myGameMusic.play();
},
ontimeout: function() {
console.log("Error in soundManager.setUp")
// Hrmm, SM2 could not start. Missing SWF? Flash blocked? Show an error, etc.?
}
});
}
</script>
我在哪里放置swfs(/ soundmanager /)以及如何将其配置为公开?
一个相关的问题是:假设我有一些我希望可以下载的PDF。我在哪里放置它们以便它们可以下载?
我很困惑,因为有一个/ public目录,但显然它不再适用于rails 3.1。
答案 0 :(得分:1)
您将它们放在app/assets/
关键是它们是从开发模式中提供的。
在生产模式中,资产缩小并放入public/
这被称为“资产编译”,并在Rails 3.1中引入,并且已经引起了很多混乱,如您所见。
答案 1 :(得分:1)
Web服务器应该与Rails一起提供静态资源(而不是到 Rails)。
我必须这样做才能在Apache / Passenger上使用Rails应用程序安装phpMyAdmin。
# Apache vhosts.conf
<Location ~ "/static_content">
PassengerEnabled off
</Location>
这直接从Apache提供/static_content
中的内容,完全绕过Rails。理想情况下,这是静态内容的最佳解决方案。