[英]Devise Invitable - Separate Invite Forms for User Groups
我的應用有兩種不同類型的用戶組。 “客戶”和“員工”。 管理員發送邀請時,我正在嘗試為兩個組創建不同的表單,以確保為每個組填寫適當的輸入。
請讓我知道該怎么做?
一種可能的解決方案是添加一列(比如說user_type),比如說一個string
。 然后,在預先創建用戶時(需要邀請),您需要將該列設置為'customer'
或'staff'
。
然后,您可以為注冊表單創建兩個部分: _staff_form.html.erb
和_customer_form.html.erb
。 呈現用戶注冊表單時,您可以簡單地為用戶類型呈現適當的部分,例如= render "#{@user.user_type}_form"
使用類似的方法,您可以進行驗證。 在您的user
模型中,您可以添加
validate :fields_by_user_type
def fields_by_user_type
if user_type == 'staff'
return if department.present?
errors.add(:department_id, "Staff member must have an department assigned")
else
return if credit_card.present?
errors.add(:credit_car, "Customer must have a credit card")
end
end
所以我創建了另一個Devise模型,現在我具有以下結構--Staff模型(Devise)-Users模型(Devise)
但是,我的管理員是“用戶”模型的一部分,只能邀請用戶,而不能邀請“工作人員”。 如何讓管理員同時邀請他們?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.