2

Ruby on Rails アプリケーションで SoundManager2 を使用してサウンドを再生したいと考えています。必要なものの 1 つは、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 では動作しないようです。

4

2 に答える 2

1

あなたはそれらを入れますapp/assets/

重要なのは、開発モードでそこから提供されることです。

本番モードでは、アセットは縮小されて配置されますpublic/

これは「アセットのコンパイル」と呼ばれ、Rails 3.1 で導入され、ご覧のとおり多くの混乱を引き起こしました。

于 2012-12-16T01:29:44.383 に答える
1

Web サーバーは、Rails と一緒に (Rails経由ではなく) 静的リソースを提供する必要があります。

Apache/Passenger 上の Rails アプリで動作する phpMyAdmin インストールを取得するには、これを行う必要がありました。

# Apache vhosts.conf
<Location ~ "/static_content"> 
  PassengerEnabled off 
</Location> 

/static_contentこれにより、Rails を完全にバイパスして、Apache から直接コンテンツが提供されます。理想的には、これは静的コンテンツに対する最適なソリューションです。

于 2012-12-16T08:37:16.363 に答える