【问题标题】:My app cannot find my images' paths我的应用找不到我的图片路径
【发布时间】:2011-09-30 22:29:17
【问题描述】:

我的图像存储在/rubyprograms/search/public/urlimages。我通过终端检查以确保路径存在并且所有图像都在其中。我链接到图像,例如,在这个路径:/­rubyprograms/­search/­public/­urlimages/­2173513720.­jpg 但我的应用程序似乎找不到图像。例如,这是我的日志中的错误:

Started GET "/rubyprograms/search/public/urlimages/2173486240.jpg" for 127.0.0.1 at Thu Jul 07 21:34:23 -0700 2011

ActionController::RoutingError (No route matches "/rubyprograms/search/public/urlimages/2173486240.jpg"):

但我知道图像在那条路线上。为什么会这样?

【问题讨论】:

标签: ruby-on-rails image debugging error-handling path


【解决方案1】:

如果您的应用位于/rubyprograms/search 中,则public/ 目录将用作所有非Rails 请求的 目录。

因此,图像的正确路径是/urlimages/2173486240.jpg

Rails 有一个方便的图像助手,称为image_tag,它实质上是为您创建图像标签。用法是:

<%= image_tag('2173486240.jpg') %>
# will create <img src="/images/2173486240.jpg" alt="" />

请注意,这将创建整个 html 标记,并假设您的图像位于 public/images/

【讨论】:

    【解决方案2】:

    Public 必须在根目录中。

    `/rubyprograms/search/public/urlimages/2173486240.jpg`
    

    需要

    `/rubyprograms/public/urlimages/2173486240.jpg`
    

    如果你想关注 COC。

    【讨论】:

    • /search 是根目录,不是吗?这就是我的/app/config/lib/db 目录。 /rubyprograms 就是我的 /search 目录。另外,COC 是什么意思?
    • 我认为 rails 使用了 public 这个名字。那就是约定。所以逻辑上是一样的,但是第一个目录需要命名为 public。
    • 好吧,也许我应该将/urlimages 目录从/public 中取出并直接放入/search
    • 您需要将您的图像放在您的公共目录中,如 git go 中定义的那样,否则您需要更改 rails 的工作方式。
    猜你喜欢
    • 1970-01-01
    • 2012-09-03
    • 2012-01-12
    • 2023-03-17
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 2016-10-31
    • 2017-03-07
    相关资源
    最近更新 更多