【发布时间】:2014-08-12 02:33:39
【问题描述】:
我正在使用带有 Rails 的 Carrierwave 来上传和显示图像。我一直将它用于文章和我网站的其他部分,但由于某种原因,它不适用于我刚刚创建的模型。我可以看到没有图像渲染的图像标签的空间,然后在页面加载时迅速消失。直到我尝试使用与我的其他模型没有太大区别的模型之前,都没有发生过这样的事情:
class Ad < ActiveRecord::Base
validates_numericality_of :zip_code
validates_presence_of :image, :advertiser
mount_uploader :image, ImageUploader
end
我的创建和索引操作:
def create
@ad = Ad.new(params[:ad].permit(:image, :advertiser, :zip_code))
if @ad.save
redirect_to :back
else
flash[:error] = "Invalid input"
redirect_to :back
end
end
def index
@new_ad = Ad.new
@ads = Ad.all.reverse
end
我的 _new 部分:
<div id="card">
<%= form_for @new_ad, html: {multipart: true, "data-ajax" => false} do |f| %>
<p>
<%= f.file_field :image %>
</p>
<p>
<%= f.text_field :advertiser, placeholder: "Advertiser" %>
</p>
<p>
<%= f.text_field :zip_code, placeholder: "Zip code" %>
</p>
<p>
<%= f.submit "Upload" %>
</p>
<% end %>
</div></br>
我的索引视图:
<%= render "new" %>
<% for ad in @ads %>
<div id="card">
<div align="center">
<%= image_tag ad.image %>
<%= ad.advertiser %>
<%= ad.zip_code %>
</div>
</div></br>
<% end %>
【问题讨论】:
标签: html ruby-on-rails ruby ruby-on-rails-4 carrierwave