데이터베이스의 행을 찾거나 새 행을 만드는 데이 코드 행을 사용하고 있습니다. 일하고 있지만 그것은 매우 추악하고 유지하기 어렵게 보입니다. 코드의 매우 긴 라인이 당신이 볼 수 있듯이 여기 레일에서 코드 찾기 또는 정리 방법
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
입니다.
이 코드를 멋지고 깨끗하게 보이게 유지하는 데 더 나은 방법이 있는지 알고 싶었습니다.
감사합니다. 내 제안 사항에 따라
스코프 + where 절을 사용하십시오. 읽을 수 없음을 확인했습니다. – apneadiving
스코프 및/또는 간단한 조건을 사용할 수 없습니까? –