データベース内の行を検索するか、新しい行を作成するためのこのコード行があります。機能していますが、見た目が非常に悪く、維持するのが困難です。
return_policy_id= MyEbayReturnPolicy.find_or_create_by_active_and_name_and_ebay_marketplace_id_and_returns_within_and_returns_accepted_and_warranty_offered_and_warranty_duration_and_warranty_type_and_shipping_costs_paid_by_and_refunds(active,name,ebay_marketplace_id,returns_within,returns_accepted,warrenty_offered,warranty_duration,warranty_type,shipping_costs_paid_by,refunds)
ここにfind_or_createコードがあります
def self.find_or_create(search, *args, &block)
parameters = search.split("_and_")
params = Hash[ parameters.zip(args) ]
obj = where(params).first
if(obj.nil?)
obj = self.new(params);
obj.save
end
return obj;
end
ご覧のとおり、非常に長いコード行です。
このコードを見栄えが良く、維持しやすいようにするためのより良いアプローチがあるかどうかを知りたかったのです。
ありがとう!