Bewährte Methoden für die Wiederverwendung von Code zwischen Controllern in Ruby on Rails

Ich habe einige Controller-Methoden, die ich gerne teilen möchte. Was ist die beste Methode, um dies in Ruby on Rails zu tun? Soll ich eine abstrakte Klasse erstellen, die von meinen Controllern erweitert wird, oder soll ich ein Modul erstellen und zu jedem Controller hinzufügen? Nachfolgend sind die Controller-Methoden aufgeführt, die ich freigeben möchte:

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

Antworten auf die Frage(7)

Ihre Antwort auf die Frage