Кажется, я получаю сообщение об ошибке:
uninitialized constant Style::Pic
когда я пытаюсь отобразить вложенный объект в представлении индекса, представление представления в порядке.
class Style < ActiveRecord::Base
#belongs_to :users
has_many :style_images, :dependent => :destroy
accepts_nested_attributes_for :style_images,
:reject_if => proc { |a| a.all? { |k, v| v.blank?} } #found this here http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes
has_one :cover, :class_name => "Pic", :order => "updated_at DESC"
accepts_nested_attributes_for :cover
end
class StyleImage < ActiveRecord::Base
belongs_to :style
#belongs_to :style_as_cover, :class_name => "Style", :foreign_key => "style_id"
has_attached_file :pic,
:styles => { :small => "200x0>",
:normal => "600x> " }
validates_attachment_presence :pic
#validates_attachment_size :pic, :less_than => 5.megabytes
end
<% for style_image in @style.style_images %>
<li><%= style_image.caption %></li>
<div id="show_photo">
<%= image_tag style_image.pic.url(:normal) %></div>
<% end %>
Как видно из вышеприведенного. Основной стиль модели имеет много style_images, все эти style_images отображаются в представлении show, но в представлении index я хочу показать одно изображение, которое было названо и будет действовать как обложка это отображается для каждого стиля.
в контроллере индекса я пробовал следующее:
class StylesController < ApplicationController
layout "mini"
def index
@styles = Style.find(:all,
:inculde => [:cover,]).reverse
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @styles }
end
end
и индекс
<% @styles.each do |style| %>
<%=image_tag style.cover.pic.url(:small) %>
<% end %>
class StyleImage < ActiveRecord::Base
belongs_to :style
#belongs_to :style_as_cover, :class_name => "Style", :foreign_key => "style_id"
has_attached_file :pic,
:styles => { :small => "200x0>",
:normal => "600x> " }
validates_attachment_presence :pic
#validates_attachment_size :pic, :less_than => 5.megabytes
end
В таблице style_images также есть cover_id.
Из примерно видно, что я включил крышку в контроллер и модель.
Я знаю, где я ошибаюсь!
Если кто-то может помочь, пожалуйста, сделайте!