我正在通過RailsTutorial,但爲我在教的中學(調整給定的Twitter克隆)製作一個「通知」webapp。提高我的數據拉爲一個簡單的「公告」軌應用程序
當用戶創建公告時,他們使用複選框確定應顯示哪些等級(1-3級可能爲真)。這是工作正常,與我存儲成績布爾人。
create_table "announcements", :force => true do |t|
t.string "content"
t.integer "user_id"
t.boolean "grade_6"
t.boolean "grade_7"
t.boolean "grade_8"
t.date "start_date"
t.date "end_date"
t.datetime "created_at"
t.datetime "updated_at"
端
我的用戶也有一個級字段,該字段是一個整數。我想用這個來讓每個用戶的主頁顯示他們評分的公告。
例如:8年級的教師的成績= 8。他們登錄時,他們的主頁應該只顯示grade_8 = TRUE的公告。
示例:校長的年級= 0.他們登錄時,其主頁應顯示所有公告。
我很努力如何將整數user.grade值轉換爲布爾標誌以從模型中拉出公告。
我正在寫的代碼正在工作,但令人難以置信的笨重。請幫助我做出更優雅的東西!如果你有更好的主意,我不會被綁定到這個數據庫模型。 (事實上,我真的不喜歡這個數據庫模型,因爲我在許多地方對數據進行了硬編碼)。
# Code to pull announcements for the home page
def feed
case grade
when 6
grade_6
...
else
grade_all
end
end
# Example function to pull announcements for a grade
def grade_6
Announcement.where("grade_6 = ? AND start_date >= ? AND end_date <= ?",
TRUE, Date.current, Date.current)
謝謝,克里斯!不幸的是,我缺乏足夠的業力來投票給你,但這正是我所期待的(「鐵軌方式」和我的哈克拉方式)。 – 2arrs2ells
沒問題丹尼爾,如果你還有其他問題,請隨時與我聯繫。你可以接受答案,你會得到一個徽章,這是在投票箭頭 –
嗨克里斯 - 再次感謝您的幫助。您是否有任何建議將此設置爲has_and_belongs_to_many關係,並放棄annoucement_grades表?我沒有看到自己在announcement_grades上做了很多事情(連接除外)。 – 2arrs2ells