0

私は以下のようなSpecificControllerを持っています、

class SpecificController < ApplicationController    

  def specific_search # ===== Main =======

    self.set_instance_variables

    self.set_product_id_sub_category_id

    unique_ids = self.get_unique_ids(@product_id,@sub_category_id,["out of stock","permanently discontinued"])

    self.set_grid("online",unique_ids)

    self.set_grid("local",unique_ids)

  end

  def include_exclude # ===== Main =======

     @type = params[:type].to_s

     self.set_product_id_sub_category_id

     self.set_sub_category_name(@sub_category_id)

     unique_ids = self.get_unique_ids(@product_id,@sub_category_id,["permanently discontinued"])

     self.set_grid(@type,unique_ids)

  end

  def set_instance_variables #===== Sub ====

     @cities = Cities.find(:all)
     @areas = []
     @feature_array = Array.new
     @online_grids = Array.new
     @local_grids = Array.new

  end

  def set_product_id_sub_category_id #===== Sub ====

    if params[:specific_product_id].present? && params[:sub_category_id].present?

        @product_id = params[:specific_product_id].to_i
        @sub_category_id = params[:sub_category_id].to_i

    end

  end

  def get_unique_ids(product_id,sub_category_id,exclude_availabilities_array) #===== Sub ====
  - 
  -
  -
  unique_ids

  end

  def set_grid(grid_type,unique_ids) #===== Sub ====

    if grid_type == "online"

       @online_grids = OnlineGridDetails.get_grid(unique_ids)

    elsif grid_type == "local"

       @local_grids = LocalGridDetails.get_grid(unique_ids)

    end

  end

end

上記のクラスで、「メイン」とマークされているメソッドは、Imが使用しているメソッドです。「Sub」とマークされた他のメソッドはすべて、「self」を使用するmainメソッドによって呼び出されます。これは良い習慣ですか?そうでない場合、それらの「サブ」メソッドはどこに属しますか?

4

1 に答える 1

1

それがあなたがあなたのコードをナビゲートして読むのを助けるなら、それならwhatevs、男。

私は個人的にすべての補助メソッドをprivateファイルの下部にあるクラスのセクションに配置しました。

于 2012-05-23T10:29:49.147 に答える