图像不显示 - Rails

时间:2014-06-20 13:18:44

标签: ruby-on-rails twitter-bootstrap-3 ruby-on-rails-4.1

Ruby 2.0 Rails 4.1 Windows 8.1 Bootstrap 3

我的一个观点中有以下内容:

<td><img class="media-object" src="C:/projects/images/agent/1/thumb_johndoe.jpg" alt="Image Not Found"></td>

我确认图像在那里,并在Windows资源管理器中正确显示。但是,当我的Rails应用程序运行时,我唯一看到的是:

Image Not Found

日志文件似乎没有表明存在任何错误,只是说:

Processing by AgentsController#index as HTML
  [1m[35m (0.0ms)[0m  SELECT COUNT(*) FROM `Agents`
  [1m[36mAgent Load (0.0ms)[0m  [1mSELECT  `agents`.* FROM `agents`  LIMIT 10 OFFSET 0[0m
  Rendered layouts/_show_edit_del_buttons.html.erb (1.0ms)

我做错了什么?

1 个答案:

答案 0 :(得分:2)

HTML代码中的绝对文件系统路径始终是错误的。

将您的图片放在app/assets/images文件夹中,然后更改视图代码以将图片显示为:

<%= image_tag "my_image.png" %>

<强>更新

如果您的图片文件夹位于Rails项目之外,请在config/application.rb

中添加路径
config.assets.paths << 'path_to_images'

但请记住,您必须将这些文件复制到生产环境中,否则它们将不会被预编译和部署。

另一个选择是为所有外部资产使用CDN。