我只是从 mongodb 开始。我有一个通过 mongoid (4.0.0) 使用 mongodb 的 rails 4.0 应用程序有一个公司模型和一个用户模型。所以用户belongs_to :company
和公司has_many :users
当我启动控制台时,Company.first
我得到了我创建的公司。当我Company.first.users
第一次这样做时,我得到:
WARN -- : Overwriting existing field
对于所有领域。
然后公司用户如预期。
当我第二次这样做时,没有警告,只有公司用户。
这是为什么?有什么不对吗?我在 Heroku 有这个应用程序,那里也发生了同样的事情。
谢谢。
更新 1
这是模型
class Company
include Mongoid::Document
include Mongoid::Timestamps
field :name
field :token
has_many :users
has_many :feedbacks
has_many :main_categories
has_many :departments
end
更新 2
实际上这些警告只发生在用户模型中
User.all
W, [2013-10-05T21:30:34.522867 #23442] WARN -- : Overwriting existing field email in class User.
W, [2013-10-05T21:30:34.523418 #23442] WARN -- : Overwriting existing field crypted_password in class User.
W, [2013-10-05T21:30:34.523662 #23442] WARN -- : Overwriting existing field salt in class User.
W, [2013-10-05T21:30:34.523888 #23442] WARN -- : Overwriting existing field remember_me_token in class User.
W, [2013-10-05T21:30:34.524129 #23442] WARN -- : Overwriting existing field remember_me_token_expires_at in class User.
W, [2013-10-05T21:30:34.524367 #23442] WARN -- : Overwriting existing field reset_password_token in class User.
W, [2013-10-05T21:30:34.524595 #23442] WARN -- : Overwriting existing field reset_password_token_expires_at in class User.
W, [2013-10-05T21:30:34.524834 #23442] WARN -- : Overwriting existing field reset_password_email_sent_at in class User.
W, [2013-10-05T21:30:34.525070 #23442] WARN -- : Overwriting existing field failed_logins_count in class User.
W, [2013-10-05T21:30:34.525319 #23442] WARN -- : Overwriting existing field last_login_at in class User.
W, [2013-10-05T21:30:34.525546 #23442] WARN -- : Overwriting existing field last_logout_at in class User.
W, [2013-10-05T21:30:34.525774 #23442] WARN -- : Overwriting existing field last_activity_at in class User.
=> #<Mongoid::Criteria
selector: {}
options: {}
class: User
embedded: false>
1.9.3p327 :003 > Company.all
=> #<Mongoid::Criteria
selector: {}
options: {}
class: Company
embedded: false>
更新 3
这与巫术有关,所以我会与他们核实。