埋め込みドキュメントのユーザー認証に問題があります。私は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使用しています3レール、およびRuby 1.9の
ありがとう、私はちょうどそれを逃した必要があります。だから私はインデックスを置くとそれは働いた。唯一の問題は、同じユーザー名のうちの2つを持つものを保存すると、(検証に合格するため)trueと表示され、保存されないということです。 falseを返すsave関数を取得する人はいますか? – Red
これは本当に良い点です。私はいくつかの研究をしてきました。私はあなたが安全に渡すことができると信じています。本当です。それが助けになります。答えの私の編集を見てください:) – Nobita