可以說我有兩個模型一個業務和一個時間槽,關係是business has_many :timeslots
。每個時隙有一天列存儲像'Monday', 'Tuesday'
等Rails的ActiveRecord如何做一個has_many關係的自定義排序
的DAYNAME當我做
bussiness.time_slots
我得到的是沒有排序的時隙。我希望按照日期名稱(而不是字母排序)對時隙進行排序。 「星期一」的時段比「星期二」先出現,等等。
我認爲SQL不能幫助我,因爲排序是定製的,我將需要重新梳理後,我閱讀,但我很關心在哪裏把它的代碼
我可以這樣做
在我的控制器
b = current_business
TimeSlot.find_sorted_with_busines(b)
在我的時隙型號
def find_sorted_with_business(b)
b.time_slots
# sort timeslots using custom sorting here and return
end
,但我不喜歡傳遞一個業務對象或ID的時隙模型的想法,我應該能夠做到像
b = current_business
b.sorted_timeslots
我該怎麼辦呢?如何定製做
思路排序基於DayNames中,也歡迎:)
感謝
之間你有沒有考慮存儲整數,而不是一天的名字。會讓它更容易分類。你可以重寫getter和setter從天名到整數或相反。只是一個想法。 – Robin
從來沒有想到的..看起來像一個不錯的主意,我認爲這將有助於消除大量的混亂。我要試一試 – Abid
@Robin如果您將此解答爲答案,我將接受 – Abid