我正在使用rails 3.2.12版本。 我想在我的静态网页(game.html.erb)中嵌入HTML5游戏。 我对iframe标签的src会有什么困惑?
我正在使用
<pre>
iframe src="index.html" height="460" width="500"
</pre>
game.html.erb 页面中的
但发生错误
NO ROUTE MATCHES GET "/static_pages/index.html"
我已将游戏文件 index.html 放在与 game.html.erb 相同的文件夹中。
什么是问题?
答案 0 :(得分:1)
如果html是静态的,那么只需将html文件移动到rails应用的'/ public'文件夹中,然后将iframe的src更改为“/index.html”
如果您不想将其放入公共文件夹,则需要向控制器添加一个动作,以便为其生成game.html.erb,或者为静态html创建一个单独的控制器。 / p>
根据你的问题所说的,我会把它放到公共文件夹中,因为它只是静态的html而且不需要控制器。
您的设置问题是您的index.html文件只是一个静态文件,其中包含game.html.erb的视图文件夹与控制器相关,并从控制器中的操作呈现。静态文件不会从该文件夹呈现。公用文件夹包含您希望在站点根目录中使用的静态文件和文件夹(除了javascript,图像和css,它们位于资产管道中)。