2016-07-22 11 views
0

我有這行代碼,只有2個選項。如果是供應商付款,則使用provider_payments_work_lists_pathelse使用duplicate_claims_work_lists_path。現在我想包括一個潛在的第三條道路。如果名稱==「報銷索賠」,然後將它們路徑爲reimbursed_claims_work_lists_path。我怎樣才能做到這一點?目前,我有:Ruby if語句有3個選項使用變量?

url = (workList.work_list_name == "Provider Payments") ? provider_payments_work_lists_path : duplicate_claims_work_lists_path 
+2

三元任務都是爲了簡單條件以提高可讀性,並降低代碼膨脹的方式。如果您比較3個條件,則最好放棄三元分配以保持可讀性。 –

回答

5

只需使用一個case聲明:

url = case workList.work_list_name 
     when 'Provider Payments' 
     provider_payments_work_lists_path 
     when 'Reimbursed Claims' 
     reimbursed_claims_work_lists_path 
     else 
     duplicate_claims_work_lists_path 
     end