путать, где определения шоу и индекс действий? - PullRequest
0 голосов
/ 08 октября 2010

Я смотрю на этот код, я вижу, что это говорит actions: show and index но где методы показывают и индексируют ??

http://github.com/railsdog/spree/blob/master/core/app/controllers/products_controller.rb

class ProductsController < Spree::BaseController
  HTTP_REFERER_REGEXP = /^https?:\/\/[^\/]+\/t\/([a-z0-9\-\/]+\/)$/

  #prepend_before_filter :reject_unknown_object, :only => [:show]
  before_filter :load_data, :only => :show

  resource_controller
  helper :taxons
  actions :show, :index

  private

  def load_data
    load_object

    @variants = Variant.active.find_all_by_product_id(@product.id,
                :include => [:option_values, :images])
    @product_properties = ProductProperty.find_all_by_product_id(@product.id,
                          :include => [:property])
    @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
  end

  def collection
    @searcher = Spree::Config.searcher_class.new(params)
    @products = @searcher.retrieve_products
  end

  def accurate_title
    @product ? @product.name : nil
  end
end

Ответы [ 2 ]

1 голос
/ 09 октября 2010

Я предполагаю, что метод actions загружается с resource_controller как модуль из каталога lib. Затем вызов метода actions создает индекс и показывает методы.

0 голосов
/ 09 октября 2010

Класс наследуется от Spree :: BaseController и ActionController. Spree :: BaseController имеет метод действия, который принимает имена методов в качестве сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...