我有下面的代码,我想知道是否可以减少代码。
bank_accounts = self.client_bank_account_id.nil? ? self.client.bank_accounts : self.client.bank_accounts.where(_id: self.client_bank_account_id)
where
不是client_bank_account_id
时,我只需要nil
来电。
答案 0 :(得分:1)
不是很短,但我说它更具可读性:
bank_accounts = self.client.bank_accounts
bank_accounts = bank_accounts.where(_id: self.client_bank_account_id) unless self.client_bank_account_id.nil?
答案 1 :(得分:0)
这取决于,您是否需要“最短代码”代码高尔夫风格,或者只是最好的,可能更简单的阅读代码。
我会选择:
bank_accounts = client.bank_accounts
bank_accounts = bank_accounts.where(_id: client_bank_account_id) if client_bank_account_id
注意: