我目前正在構建一個應用程序,其中一部分是邀請/註冊系統。目前系統中有「課程」和「教室」。因此,「課程」是一門課程,而「課堂」是課程的具體實例。 F.ex.可能有1門課程,但有3課堂實例,有不同的開始/結束日期,略有不同/更新的材料等。現在,可以邀請「員工」參加「課程」,但「員工「他們自己必須選擇一個特定的」教室「才能加入。所以,員工會進入他/她的個人資料頁面,邀請函顯示在該頁面上。現在,員工點擊邀請,然後可以選擇一個特定的教室註冊。這顯然應該創建一個註冊。但是,它也應該擺脫邀請,因爲它已被「接受」。目前,我已設定「僱員」通過「登記」擁有許多「教室」。另外,「員工」通過「邀請」有很多「課程」。這看起來並不正確,因爲當員工點擊某個邀請時,他們將被帶到註冊頁面(註冊控制器),註冊頁面將被創建。當註冊被創建時,邀請應該被刪除。所以現在我猜想登記控制器應該能夠創建註冊和刪除邀請。這似乎是不好的設計。我對課堂和員工之間的關係感到非常滿意,但員工和邀請之間的關係似乎很糟糕。你會怎麼做?Ruby on rails邀請/註冊
0
A
回答
0
爲什麼不簡單地在模型中使用status
屬性來管理邀請過程?
我將使用以下型號:
Employee
,應用程序的用戶;Course
,要遵循的過程;Classroom
,屬於Course
(具有許多classrooms
的課程)。Participation
,使員工,課程和教室之間的聯繫。這種模式將取決於參與到課程的演變有一個狀態:invited
當僱員已被邀請,enrolled
當員工選擇了教室等
的Participation
模型的骨骼會:
class Participation < ActiveRecord::Base
attr_accessible :status
belongs_to :employee
belongs_to :course
belongs_to :classroom
#...
validates_uniqueness_of :employee_id, :scope => [course_id, :classroom_id]
end
對員工給予課程和課堂的獨特性要求。根據你的選擇,當然也可以不考慮課堂。
我將Participations
表中添加唯一索引:
add_index :participation, [employee_id, course_id, classroom_id], unique => true
在與相應的employee_id
和course_id
,classroom_id
參與實例將被創建的邀請(狀態invited
)被保留爲空。在參與者中,參與者將被更新爲classroom_id
和狀態enrolled
。
它適合您的需求嗎?
0
一個簡單的解決方案是將accepted
布爾型字段添加到邀請模型中。一旦選擇了教室/課程,請將accepted
設置爲true。然後在個人資料頁面上,只顯示accepted
爲假的邀請。
相關問題
- 1. 登錄/註冊Ruby on Rails?
- 2. Ruby on Rails註冊數據?
- 3. 設計可邀請的批量邀請 - Ruby on rails
- 4. 關注請求Ruby on Rails
- 5. Ruby On Rails註冊過程詳細
- 6. 如何僅註冊邀請?
- 7. 用戶註冊邀請
- 8. Ruby on Rails:設計,想添加邀請碼?
- 9. Acts_as_Inviteable插件不Ruby on Rails的發出邀請
- 10. 來自Ruby on Rails的Facebook應用程序邀請
- 11. PHP和mySQL僅邀請註冊
- 12. php mysql註冊表格的邀請碼
- 13. Ruby on Rails依賴注入
- 14. HTTP請求 - Ruby on Rails
- 15. 後臺Ruby on Rails請求
- 16. Ruby on Rails simple_forms RESTful請求
- 17. Ruby on Rails - SLIM - SCSS - 注入ruby變量
- 18. Ruby on Rails中破壞的用戶註冊表格
- 19. 註冊後只顯示一次 - Ruby on Rails
- 20. Ruby on Rails在設計註冊和登錄時發送參數
- 21. Ruby on Rails的 - 範圍與註冊和訂購
- 22. 需要幫助用Ruby on rails創建註冊腳本
- 23. 在Ruby on Rails中註冊多個用戶的意見
- 24. Ruby on rails超級簡單註冊頁面
- 25. Ruby on Rails CanCan,允許用戶在註冊時選擇角色
- 26. Ruby on Rails:無權訪問註冊頁面?
- 27. Ruby on Rails:在註冊Worker角色後設計重定向
- 28. 在Ruby on Rails中使用社交媒體註冊
- 29. 帶有omniauth註冊中必填字段的表單。 (Ruby on Rails)
- 30. 基本和付費註冊在單一的Ruby on Rails表格
它適合。謝謝! – Kasper