【发布时间】:2014-01-14 19:35:40
【问题描述】:
不确定我在这方面做错了什么。我已经关注了 Carrierwave 的 Rails Cast,但遇到了一个奇怪的错误,即图像根本没有显示 - (HTML) 源代码显示图像标签,但其中没有任何内容。
投资组合模型代码:
class Portfolio < ActiveRecord::Base
validates :title, :content, presence: true
mount_uploader :feature_image, FeatureImageUploader
end
特征图片上传器代码:
class FeatureImageUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
显示.html.haml 代码:
= @portfolio.title
=image_tag @portfolio.feature_image_url.to_s
=markdown(@portfolio.content).html_safe
还有我的表单代码:
.field
= f.label :title
%br
= f.text_field :title
.field
= f.label :date
%br
= f.datetime_select :date
.field
= f.label :content
%br
= f.text_area :content, rows: 10
.field
= f.label :feature_image
= f.file_field :feature_image
.actions
= f.submit
我的 HTML 源代码正在显示:
<img src=""/>
我已经运行了我的 rake 测试,一切都很好,没有失败。有人介意看看我吗,真的很感激。
谢谢!
编辑
这是我添加新投资组合条目时服务器日志中的 pastebin - http://pastebin.com/1zNxB975
【问题讨论】:
-
从文档中我看到你的代码应该是这样的:
=image_tag @portfolio.feature_image.url,你能确认你的图片是否上传了吗?可能是属性被保存到数据库中但实际上没有文件被保存。 -
这里还有一件事 - 有空的
url到src attribute可能是因为attributes的image没有保存,在这种情况下你需要发布logs的上传图片时的服务器。 -
嘿,我调整了 image_tag 但没有骰子。我已经编辑了我的原始帖子以包含服务器日志,我不知道它是否被保存。 @magnum2002
-
所以你在日志中有错误
Unpermitted parameters: feature_image,需要查看portofolios_controller -
也许您忘记在允许的参数中添加
feature_image?
标签: ruby ruby-on-rails-3 ruby-on-rails-4 haml carrierwave