情景是,我想獲取2個案例的所有時間片。無法重構代碼軌4查詢
如果看門人是真正的查詢將是相同的
如果門衛是假的話,需要在查詢中添加參數
因此,其相同的查詢幾乎是意志對這兩種情況都很少修改。
下面是查詢和代碼:
def self.latest_pickup_date current_zone,doorman
if doorman
latest_timeslot = Timeslot.where(dropoff_slots: '-1', zone_id: current_zone).order(:slot_date).last
else
latest_timeslot = Timeslot.where(dropoff_slots: '-1', zone_id: current_zone, doorman_type: "none").order(:slot_date).last
end
latest_timeslot.nil? ? Date.current : latest_timeslot.slot_date
end
我想修改我的代碼和查詢的方式使用空的方法。
我不想在這兩種情況下寫這些查詢兩次。我需要使用代碼實踐的更好的解決方案。或者如果我正確地做這件事,你也可以提供建議。
另外還需要好的專業代碼實踐和代碼重構,以及任何人都可以提供幫助。
你的問題的標題是_unable到refactor_,爲什麼是你無法重構?你知道http://codereview.stackexchange.com/嗎? –
@Зелёный我沒有那麼多好的知識,而且我的專業知識有限,所以我發佈了專家解答。我的意圖不是隻得到答案。我也可以自己做。 以及我不知道codereview.stackexchange.com – LearningROR
您應該將此問題發佈到http://codereview.stackexchange.com/ –