我绝不是 Ruby 开发人员,但我在本地主机上为 ruby 框架编写了 HAML。
我最初放置了一个名为 vidgirlBox2.flv 的文件并在 HAML 中调用它,但将文件转换为名为 vidGirl_home.swf 的 swf。
这个瑞士法郎有效。
直到我对原始 .fla 进行了简单的更改,并覆盖了 vidGirl_home.swf 。
它再也没有工作过。
我尝试了 swfObject,Unobtrusive Flash Object,最低限度的嵌入 swf,一切。
事实证明,在运行本地服务器时,我在终端中收到此消息:
ActionController::RoutingError (No route matches "/Users/daniellevine/Desktop/vidgirlBox2.flv" with {:method=>:get}):
Rendering rescues/layout (not_found)
如您所知,它正在寻找一个旧文件。我没有在我的任何 haml 中调用此文件。我对这个 flv 如何将自己写入红宝石感到困惑(至少这是我假设的)。
这是我尝试解决的方法,但似乎此代码会生成 rails 编译器错误。这可能只是一个简单的命名约定错误。我在某处缺少引号吗?
我的新嵌入代码:
- 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/', {});"
有谁知道可能发生了什么?或者更好的是,如何解决这个问题?
谢谢!!