Ruby on rails Rails找不到包含开放方括号的文件

Ruby on rails Rails找不到包含开放方括号的文件,ruby-on-rails,jplayer,Ruby On Rails,Jplayer,这是我在stackoverflow的第一个问题。 我正在基于JPlayer的播放列表和Rails构建一个简单的音乐流。基本上,我将我的MP3复制到根目录中,并按艺术家为文件编制索引。然后我使用JQuery自动完成来搜索艺术家,并为艺术家生成一个播放列表,用MP3返回一个JSon数组。除非dir或文件包含开放方括号,否则一切正常 2011年11月7日星期一11:48:09+0100开始获取127.0.0.1版的“/music/[hello.mp3” ActionController::Routin

这是我在stackoverflow的第一个问题。 我正在基于JPlayer的播放列表和Rails构建一个简单的音乐流。基本上,我将我的MP3复制到根目录中,并按艺术家为文件编制索引。然后我使用JQuery自动完成来搜索艺术家,并为艺术家生成一个播放列表,用MP3返回一个JSon数组。除非dir或文件包含开放方括号,否则一切正常

2011年11月7日星期一11:48:09+0100开始获取127.0.0.1版的“/music/[hello.mp3” ActionController::RoutingError(没有与[GET]“/music/[hello.mp3]匹配的路由):

使用/music/hello.mp3一切正常

我可以使用符号链接或不使用符号链接复制错误,并且只能使用[,但不能使用]。我已经尝试使用\[或\[]进行转义。这并不能解决问题。 我使用的是rails 3.1.1和ruby 1.8.7

index.js.erb包含

new jPlayerPlaylist({
    jPlayer: "#jquery_jplayer_1",
    cssSelectorAncestor: "#jp_container_1"
}, [
    <%= @titles.html_safe %>
], {
    supplied: "mp3",
    wmode: "window"
});
有人能帮我吗?
谢谢

对文件的字符串使用
CGI.escape
,以转义敏感元素。(RDoc:)


显示相关代码肯定会有帮助:)我想[需要进行url转换才能工作。感谢您的回复。您能举一个如何进行url转换的示例吗[?我遇到了同样的问题,任何有效的答案都是非常感谢的!嘿,Haspemulator,它最终能工作吗?我仍然有同样的问题。我尝试了URI.encode(@titles.html_safe)和URI.encode(@titles)。同样的问题。尝试使用CGI.escape方法。由于某种原因,URI显然不关心方括号。CGI.escape('music/[hello.mp3')也不起作用。ActionController::RoutingError(没有路径匹配[GET]“music/%5Bhello.mp3”):Rails应用程序的公用文件夹中是否有“音乐”文件夹?在尝试路由到“音乐”控制器之前,它将首先在那里查找静态资源。是的,音乐文件夹在公用文件夹中。我应该尝试做什么?
{
    title:"1 - hello",
    mp3:"music/[hello.mp3"
},
{
    title:"2 - goodbye",
    mp3:"music/[goodbye.mp3"
}
CGI.escape('music/[hello.mp3')
=> "music%2F%5Bhello.mp3"