Рекомендации по повторному использованию кода между контроллерами в Ruby on Rails

У меня есть несколько методов контроллера, которыми я хотел бы поделиться. Как лучше всего делать это в рубине на рельсах? Должен ли я создать абстрактный класс, который расширяют мои контроллеры, или я должен создать модуль и добавить его в каждый контроллер? Ниже приведены методы контроллера, которыми я хочу поделиться:

def driving_directions
  @address_to = params[:address_to]
  @address_from = params[:address_from]
  @map_center = params[:map_center_start]

  # if we were not given a center point to start our map on
  # let's create one.
  if !@map_center && @address_to
    @map_center = GeoKit::Geocoders::MultiGeocoder.geocode(@address_to).ll
  elsif !@map_center && @address_from
    @map_center = GeoKit::Geocoders::MultiGeocoder.geocode(@address_from).ll
  end
end

def printer_friendly
  starting_point = params[:starting_point].split(',').collect{|e|e.to_f}
  ne = params[:ne].split(',').collect{|e|e.to_f}
  sw = params[:sw].split(',').collect{|e|e.to_f}
  size = params[:size].split(',').collect{|e|e.to_f}
  address = params[:address]

  @markers = retrieve_points(ne,sw,size,false)
  @map = initialize_map([[sw[0],sw[1]],[ne[0],ne[1]]],[starting_point[0],starting_point[1]],false,@markers,true)
  @address_string = address
end

Ответы на вопрос(7)

Ваш ответ на вопрос