所以我知道這個問題已經問了很多次,但我的問題進一步了一點。Rails多態用戶模型與設計
建模我的應用程序時,我有兩種類型的用戶與用戶模型具有多態關聯。如:
class User < ActiveRecord::Base
belongs_to :profileable, :polymorphic => true
end
class User_Type_1 < ActiveRecord::Base
has_one :user, :as => :profileable
end
class User_Type_2 < ActiveRecord::Base
has_one :user, :as => :profileable
end
我之所以這樣做,而不是性病,是因爲User_Type_1
有類似4場和User_Type_2
有像20場,我不希望用戶表中有這麼多的領域(是24-ish領域不是很多,但我寧願大部分時間都沒有~20場空)
我明白這是如何工作的,我的問題是我想要註冊表單隻用於註冊類型爲User_Type_1
的用戶,但要同時使用兩種形式的登錄。 (我有這將創造的User_Type_2
用戶應用的管理方)
我知道我可以使用after_sign_in_path_for(resource)
覆蓋在AppicationController
莫名其妙地重定向到該網站的右側部分上的標誌的東西,如:。
def after_sign_in_path_for(resource)
case current_user.profileable_type
when "user_type_1"
return user_type_1_index_path
when "user_type_2"
return user_type_1_index_path
end
end
所以我想我的問題是我將如何使表單與Devise一起工作,只允許登錄類型User_Type_1
,然後在sign_up後簽名?
此外,如果我正在以這種錯誤的方式進行,那麼正確的方法是什麼?