2
所以,我在嵌入式文檔中遇到了一些用戶認證問題。我有兩個文件,一個嵌入到另一個文件中。一個企業有很多成員。模型看起來像這樣:Rails 3和Mongoid:嵌入式文檔驗證
class Member
include Mongoid::Document
field :username, type: String
field :password, type: String
embedded_in :business
validates :username, :presence => true, :uniqueness => true, :length => 5..60
end
class Business
include Mongoid::Document
field :name, type: String
embeds_many :members
end
問題是它沒有驗證用戶名在每個模型中的唯一性。當我在一個企業中保存一個成員時,我可以保存一千個相同的名字。這當然不適合一個好的認證系統。我使用Mongoid 2,Rails 3中,和Ruby 1.9
謝謝,我一定是錯過了。所以我把這個索引放在了它的上面。唯一的問題是,當我保存具有兩個相同用戶名的東西時,它表示爲真(因爲它通過了驗證),它只是不保存。有沒有人得到保存函數返回false? – Red 2012-02-20 16:29:18
這是一個很好的觀點。我一直在做一些研究,我相信你可以通過安全:真實的,這將有所幫助。看看我的編輯在答案:) – Nobita 2012-02-20 18:21:53