【发布时间】:2014-07-17 17:56:48
【问题描述】:
我是 MonogoDB 的新手。我已经能够播种数据,但不能播种关系数据。
在我的模型中
has_and_belongs_to_many :users
field :encrypted_password, type: String, default: ""
field :name, type: String
field :address, type: String
field :city, type: String
field :state, type: String
field :zip, type: String
在像 MySQL 这样的 DB 中,我不会使用上述语法,而是制作一个迁移文件,将其推送到架构中。在这里,在 Mongo 中,它似乎更加动态。
所以对于第一行 (has_and...) 我想我可以使用
XYZ.create(:name => "x", {...}, user_id=>[1,2])
User.create(:name => "y", {...}, XYZ_id => [1])
这给了我一个 nomethod 错误。
Attempted to set a value for 'user_id' which is not allowed on the model XYZ.
所以我添加了动态属性行:
include Mongoid::Attributes::Dynamic
在两个模型上关联模型。
当我登录该用户时,它不知道关联(该特定用户不属于 XYZ。)
我自然地加载了 Rails C,但在键入时几乎没有看到我所期望的
User.all (or) XYZ.all
我看到了
2.1.0 :004 > User.all
=> #<Mongoid::Criteria
selector: {}
options: {}
class: User
embedded: false>
所以我不确定如何调试问题。 我怎样才能确保适当地建立关系?
【问题讨论】:
标签: ruby-on-rails mongodb