我的轨道ApplicationController的是有一个RoutingError
-
13-09-2019 - |
题
我绝不是一个Ruby开发者,但我对在我的本地红宝石的框架代码HAML。
我原本放在一个名为vidgirlBox2.flv文件,并呼吁它的HAML中的文件,但文件转换成一个名为vidGirl_home.swf瑞士法郎。
此SWF工作。
直到我提出的简单变化到原单的.fla,并覆盖了vidGirl_home.swf。
这永远不会再工作。
我试图SwfObject的,不显眼的Flash对象,嵌入一个swf,一切的最低限度。
原来,我跑我的本地服务器时得到我的终端这样的信息:
ActionController::RoutingError (No route matches "/Users/daniellevine/Desktop/vidgirlBox2.flv" with {:method=>:get}):
Rendering rescues/layout (not_found)
正如你所知道的,它找一个旧文件。我没有要求任何我HAML的这个文件。我很困惑,这FLV如何写自己变成了红宝石(这就是我认为至少)。
这是我在一个解决方法的尝试,但似乎这个代码生成轨编译器错误。这可能只是一个简单的命名约定错误。我缺少一个引号的地方?
我的新嵌入代码:
- if Rails.env.development?
= javascript_include_tag "swfobject"
- else
%script{:src => "http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js"}
- id ||= "flash"
- filename ||= "/images/vidGirl/vidGirl_home.swf"
- width ||= 440
- height ||= 247
- background ||= "#ffffff"
- version ||= 9
- base ||= '{base: "."}'
%div{ :id => id }
%strong You need to upgrade your Flash Player
= javascript_tag "swfobject.embedSWF('/images/vidGirl/vidGirl_home.swf', 'vidGirl_home', '440', '247', '9.0.0', '/javascripts/swfobject/expressInstall.swf', {}, '/public/', {});"
任何人都知道到底发生了什么?或者更好的是,如何解决这个问题?
感谢您!!
解决方案
上次我有这个问题,一个Flash影片试图加载另一个Flash影片,但基本路径是错误的。所以austinfromboston可能是正确的,由FLV转换为SWF文件,它嵌入你的FLV的SWF。
如何解决这个问题?确保在.swf文件的路径是相关联系并不绝对。然后,你需要设置BASE PARAM。下面是swobject和HAML的示例:
- if Rails.env.development?
= javascript_include_tag "swfobject"
- else
%script{:src => "http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js"}
- id ||= "flash"
- filename ||= "/swf/flashmovie.swf"
- width ||= 990
- height ||= 500
- background ||= "#ffffff"
- version ||= 9
- base ||= '{base: "."}'
%div{ :id => id }
%strong You need to upgrade your Flash Player
= javascript_tag "swfobject.embedSWF('#{filename}', '#{id}', '#{width}', '#{height}', '#{version}', '/swf/express_Install.swf', {}, #{base}, {});"
/swf/flashmovie.swf意味着在公共文件夹中的文件夹的swf。路径
其他提示
我不是超级Flash的精明,但它看起来就像当你将该文件转换为一个swf,它基本上嵌入你之前vidgirlBox2.flv文件作为一种资源。我的猜测是用来住你的桌面上的资源,所以当你编辑FLA文件的本地路径得到了保存到资源莫名其妙。你看到的则是由于从Flash文件本身被称为坏资源路径的错误,而不是从电话你正在你的HAML的标记,这已经很好了。
它看起来像你使用正试图通过本地路径(即您的计算机上的路径)来访问文件中嵌入代码。
我不知道这是否是一个Rails应用程序(或其他Ruby框架),但你需要做的FLV / SWF文件是在同一个地方等静态文件。
有关Rails应用,这将是公共/文件夹内。我做了一些的Rails +的Flash应用程序和我一般把文件放在一个公共/闪光灯/目录。
另一种选择是把瑞士法郎/ FLV的文件上的S3帐户,并经由直接S3 URL访问它。这对于较大的视频文件很好,因为它节省了带宽。