Я создаю базовое приложение Rails 4 и, похоже, попал в неприятную промашку. Я слежу за CarrierWave Railscast, и пока я могу получить изображения, отображаемые на /image/show.html.erb, у меня были некоторые трудности с получением любых изображений, которые я загрузил для отображения в галерея, с которой связано каждое изображение.Устранение неполадок изображений, загруженных CarrierWave
Странная вещь: никаких ошибок не зарегистрировано. Страница загружается без ошибок Rails, которые появляются на странице или на терминале; единственный способ, которым я знаю, что-то не так, заключается в том, что div, который должен отображаться, не появляется вообще.
Я действительно в тупике об этом. Если вы посмотрите, div .images в действии show для галерей отображает, но абсолютно ни один из подэлементов не создает вообще. Что я делаю не так?
приложение/модели/image.rb
class Image < ActiveRecord::Base
belongs_to :gallery
mount_uploader :image, ImageUploader
end
приложение/модели/gallery.rb
class Gallery < ActiveRecord::Base
has_many :images
end
приложение/закачивающие/image_uploader.rb
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb do
process :resize_to_limit => [200, 200]
end
end
приложения/просмотров/фото/show.html.erb
Ниже, мы можем видеть, что изображения могут быть оказаны без проблем, так как это представление для их собственного соответствующего контроллера.
<p>
<strong>Title:</strong>
<%= @image.title %>
</p>
<p>
<strong>Description:</strong>
<%= @image.description %>
</p>
<p>
<strong>Image:</strong>
<%= image_tag @image.image_url.to_s %>
</p>
/apps/views/galleries/show.html.erb
Это где все становится сложнее. Во-первых, независимо от того, что я изменяю в пределах div, все, что внутри, кажется, кажется пустым. Я попытался несколько раз изменить бит «для изображения в галерее @ gallery.images», но безрезультатно.
<div id="images">
<% for image in @gallery.images %>
<div class="image">
<%= image_tag image.image_url(:thumb) %>
<%= image.description %>
<div class="name"><%= image.title %></div>
<div class="actions">
<%= link_to "edit", edit_image_path(image) %> |
<%= link_to "remove", image, :confirm => 'Are you sure?', :method => :delete %>
</div>
</div>
<% end %>
<div class="clear"></div>
</div>
<p>
<%= link_to "Add a Painting", new_image_path(:gallery_id => @gallery) %> |
<%= link_to "Remove Gallery", @gallery, :confirm => 'Are you sure?', :method => :delete %> |
<%= link_to "View Galleries", galleries_path %>
</p>
Действительно ли вы устанавливаете 'gallery_id' при создании изображения? – ramblex
Да, спасибо, что указали на это. Я обновил свой вопрос, чтобы еще раз подумать об этом. :) –
Можем ли мы увидеть ваш ImageUploader, пожалуйста? – Damien