Ruby on rails NoMethodError-carrierwave-private方法';格式';用于HeroUploader
我有以下上传程序:Ruby on rails NoMethodError-carrierwave-private方法';格式';用于HeroUploader,ruby-on-rails,ruby,amazon-s3,carrierwave,Ruby On Rails,Ruby,Amazon S3,Carrierwave,我有以下上传程序: class HeroUploader < CarrierWave::Uploader::Base # Include RMagick or MiniMagick support: include CarrierWave::RMagick #include CarrierWave::MiniMagick # Include the Sprockets helpers for Rails 3.1+ asset pipeline compatib
class HeroUploader < CarrierWave::Uploader::Base
# Include RMagick or MiniMagick support:
include CarrierWave::RMagick
#include CarrierWave::MiniMagick
# Include the Sprockets helpers for Rails 3.1+ asset pipeline compatibility:
include Sprockets::Helpers::RailsHelper
include Sprockets::Helpers::IsolatedHelper
storage :fog
类HeroUploaderclass Homepage < ActiveRecord::Base
attr_accessible :banner, :banner_text1, :banner_text2, :banner_text3, :button, :hero
mount_uploader :hero, HeroUploader
mount_uploader :banner, BannerUploader
mount_uploader :button, ButtonUploader
end
类主页
当我尝试在视图中调用英雄图像时,我得到:
为amazons3.hat_beach.jpg调用了私有方法'format'
横幅和按钮也一样。我在同一个rails应用程序中有另一个上传程序
有没有办法解决这个问题
谢谢
萨姆
编辑以添加视图:
<body>
<div class="row-fluid" style="padding-top: 100px; padding-bottom: 30px;">
<div id="myCarousel" class="carousel slide" data-interval="30" >
<!-- Carousel items -->
<div class="carousel-inner">
<div class="item">
<div class="row-fluid">
<div class="span12">
<div class="row-fluid">
<div class="span6 offset1" >
<a align="center" href="http://pinterest.com/newoutfitpr/" target="_blank"> <%= image_tag @homepages.first.hero, class: "hero-image-size" %> </a>
</div>
<div class="span4">
<h3 align="center"><%= image_tag @homepages.first.banner %></h3>
<p class="product-description"><%= @homepages.first.banner_text1 %> </p>
<p class="product-description"><%= @homepages.first.banner_text2 %></p>
<p class="product-description"><%= @homepages.first.banner_text3 %></p>
<p align="center">
<%= link_to guest_collage_path, :method => :post do %>
<%= image_tag(@homepages.first.button, :alt => "Get Started") %>
<% end %></p>
</div>
</div>
</div>
</div>
</div>
:post do%>
“开始”)%%>
试试这个
而不是
<%= image_tag @homepages.first.banner %>
用这个
<%= image_tag @homepages.first.banner_url %>
请看这段railscasts视频
@samanthaCabel您是否在某处更改了图像的格式?您是否检查了上传的图像是否存储在s3存储桶中?我正在调用一些css来更改图像的大小,但我在没有css类的情况下尝试了此操作,并收到了相同的错误消息。是的,图像已经上传到S3-我可以在那里看到它。在所有上传类中只有4行代码吗?你能在你试图显示这张图片的地方显示一些视图代码吗?添加了视图-上传程序很简单,对吗?。我使用的是carrierwave的标准上传程序。谢谢,我已经看了一段时间了。答案实际上不是homepages.first.banner.image\u url,而是homepages.first.banner\u url。你想编辑答案让我接受吗?@SamanthaCabral在你提到之前发现了我的错误,并更新了相同的答案。