我在主页上有一个图像滑块(Spree)。我想用数据库中的图像填充滑块。为此,我必须创建一个图像模型,并将其与家庭模型相关联。我找到了家庭控制器和视图,但我找不到家庭模型。我在哪里可以找到它?这是正确的做法,还是有其他优化的方法?
答案 0 :(得分:1)
好的,我解决了它,为Spree模块内的图像定义模型
module Spree
class SliderImage < Spree::Base
has_attached_file :image, :styles => { :large => "980 x 280>",:medium => "400x100>", :thumb => "100x50>" }, :default_url => "no-photo.png"
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
end
end
在管理面板中为SliderImage创建一个标签,其中admin可以处理滑块图像。然后,在家庭控制器中定义其实例变量
module Spree
class HomeController < Spree::StoreController
respond_to :html
def index
@slider_images = Spree::SliderImage.all
end
end
end
现在,您可以在滑块中动态加载图像。
#../app/views/spree/home/index.html.erb
.......
<% @slider_images.each do |image_slider| %>
<div class="item active">
<%= image_tag(image_slider.image(:large), alt: image_slider.title, class: "img-responsive", style: "width: 100%;") %>
</div>
<% end %>
........