ruby-on-rails - 在 Ruby on Rails 3.1+ 中公开静态文件?

标签 ruby-on-rails ruby ruby-on-rails-3.1

我想使用 SoundManager2 在我的 Ruby on Rails 应用程序中播放声音。它想要的东西之一是带有 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 中不再工作。

最佳答案

你把它们放在app/assets/

关键是它们是在开发模式下从那里提供服务的。

生产模式中, Assets 被缩小并放置在public/

这称为“ Assets 编译”,在 Rails 3.1 中引入,如您所见,它引起了很多困惑。

关于ruby-on-rails - 在 Ruby on Rails 3.1+ 中公开静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897786/

相关文章:

ruby-on-rails - 工头:命令 "start"未定义

mysql - 由于 MySQL 内存限制而关闭 Amazon EC2 上的 Rails 应用程序?

ruby-on-rails - 通过单击按钮完成文件选择时如何测试文件字段?

ruby - 如何将字符串转换为整数或 float

ruby-on-rails - 使用 Ruby on Rails link_to 链接到 Controller 操作

ruby-on-rails - Rails - 批处理 sql 查询 - 自定义选择子句中不包含主键

css - 属性 html 标签 rails 4

ruby-on-rails - 如何在 Windows 8 上运行两个 GitBash 实例?

ruby-on-rails - 升级到 rails 3.0.7 --> 3.1 时,form_tag 不工作

ruby-on-rails-3 - Rails 3.1.1 中的静态页面和资源