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