Sha256: c3e137a1bf2a2263ec44c64f1c59cb1aee8095f5b608d3c2e329a9df333ac3ab
Contents?: true
Size: 981 Bytes
Versions: 10
Compression:
Stored size: 981 Bytes
Contents
class ProductsController < Spree::BaseController HTTP_REFERER_REGEXP = /^https?:\/\/[^\/]+\/t\/([a-z0-9\-\/]+)$/ rescue_from ActiveRecord::RecordNotFound, :with => :render_404 helper :taxons respond_to :html def index @searcher = Spree::Config.searcher_class.new(params) @products = @searcher.retrieve_products respond_with(@products) end def show @product = Product.find_by_permalink!(params[:id]) return unless @product @variants = Variant.active.includes([:option_values, :images]).where(:product_id => @product.id) @product_properties = ProductProperty.includes(:property).where(:product_id => @product.id) @selected_variant = @variants.detect { |v| v.available? } referer = request.env['HTTP_REFERER'] if referer && referer.match(HTTP_REFERER_REGEXP) @taxon = Taxon.find_by_permalink($1) end respond_with(@product) end private def accurate_title @product ? @product.name : super end end
Version data entries
10 entries across 10 versions & 1 rubygems