0

我有一个简单的应用程序,当我转到指向 page#index 的根 uri 时,它会显示图像。图片以这种方式工作得很好,但是当我转到 /page/index 时,图片被破坏了。这是什么原因造成的?

路线.rb

root :to => "page#index"
match ':controller(/:action(/:id))(.:format)'

当我查看源代码并尝试单击 /page/index 中的图像时,我得到:

Unknown action

The action 'assets' could not be found for PageController

即使我把

match ':controller(/:action(/:id))(.:format)' 

root :to => "page#index"

它仍然不渲染图像。

编辑:因为我收到控制器错误。这是我的 page_controller.rb

class PageController < ApplicationController
  def index
    render "index"
  end
end
4

1 回答 1

1

啊哈。该<img>标签应如下所示:

<img id="email" src="/assets/email.png" alt="Contact" />

src请注意属性开头的正斜杠。使用斜线,浏览器将始终尝试从以下位置提取图像:

http://my.web.site/assets/email.png

但是没有它,你会得到一个相对路径,所以浏览器会尝试获取:

http://my.web.site/the/current/page/assets/email.png

哪个不存在。除非您当前的页面是根 URL,这就是它在这种情况下工作的原因。

希望有帮助!

于 2013-01-06T21:14:20.523 回答