further DRY up crops controller

This commit is contained in:
Mackenzie Morgan
2016-11-28 22:04:32 -05:00
parent e1a2b168c9
commit 66c8ce78bc

View File

@@ -168,18 +168,8 @@ class CropsController < ApplicationController
respond_to do |format|
if @crop.update(crop_params)
if !params[:alt_name].nil?
destroy_names('alternate')
params[:alt_name].each do |index, value|
create_name('alternate', value)
end
end
if !params[:sci_name].nil?
destroy_names('scientific')
params[:sci_name].each do |index, value|
create_name('scientific', value)
end
end
recreate_names('alt_name', 'alternate')
recreate_names('sci_name', 'scientific')
if previous_status == "pending"
requester = @crop.requester
@@ -210,6 +200,15 @@ class CropsController < ApplicationController
private
def recreate_names(param_name, name_type)
if params[param_name].present?
destroy_names(name_type)
params[param_name].each do |index, value|
create_name(name_type, value)
end
end
end
def destroy_names(name_type)
@crop.send("#{name_type}_names").each do |alt_name|
alt_name.destroy