我绝不是一个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访问它。这对于较大的视频文件很好,因为它节省了带宽。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top