使用link_to时出现奇怪的Rails4错误

时间:2016-08-29 00:23:10

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

这行代码:

<%=link_to('Click for video.', image_path("create_institution.gif"), :target => "_blank")%>

抛出此错误:

Couldn't find Image with 'id'=create_institution

Request parameters  
{"action"=>"show", "controller"=>"images", "id"=>"create_institution", "format"=>"gif"}

这是我的路线还是别的问题? "create_institution.gif"位于/assets/images我有一个模型“图像”,但在其他地方使用图像时没有遇到任何问题。

my routes.rb

的Pastebin

1 个答案:

答案 0 :(得分:1)

在您的应用中,您有[{1}}作为资源,这就是image解析为image_path

的原因

来自images#show的文档,

  

如果您将图像作为应用程序资源,则此方法可能与其命名路径冲突。提供别名path_to_image以避免这种情况。 Rails在内部使用别名,鼓励插件作者这样做。

因此,您可以使用image_path来解决此问题。

path_to_image

希望这有帮助!