我的应用程序找不到我的图像的路径

问题描述:

我的图像存储在/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"): 

但是我知道图像在那里。这是为什么发生?

+0

你的应用在哪个目录? – vonconrad

+0

重复http://*.com/questions/6612531/carrierwave-problem-with-path-to-image – joseph

+0

@vonconrad我的应用程序在'/ search' –

如果您的应用程序是在/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/

公共必须位于根目录中。

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

需要是

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

如果你的魔杖跟着COC。

+0

'/ search'是根目录,不是?这就是我的'/ app','/ config','/ lib'和'/ db'目录。 '/ ruby​​programs'就是我的'/ search'目录。另外,COC是什么意思? –

+0

我认为rails使用公共名称。这是公约。所以逻辑上它是一样的,但第一个目录需要公开名称。 – s84

+0

好,所以我应该把'/ urlimages'目录从'/ public'中直接放到'/ search'中? –