Ruby on rails 您如何使用mongoid 3+;中的has多相关关系;?
我目前正在从mongoid 2.0迁移到mongoid 3.0.5。我在一个对象中拥有的关系之一是一个Ruby on rails 您如何使用mongoid 3+;中的has多相关关系;?,ruby-on-rails,mongoid,Ruby On Rails,Mongoid,我目前正在从mongoid 2.0迁移到mongoid 3.0.5。我在一个对象中拥有的关系之一是一个有许多相关的。如何将其迁移到mongoid 3.0.5?我无法通过谷歌搜索或在mongoid.org和two.mongoid.org网站上找到任何相关文档。有什么地方我应该找吗 代码如下: has_many_related :food_review do def find_or_initialize_by_user_id(user_id) criteria.where(:
有许多相关的。如何将其迁移到mongoid 3.0.5?我无法通过谷歌搜索或在mongoid.org和two.mongoid.org网站上找到任何相关文档。有什么地方我应该找吗
代码如下:
has_many_related :food_review do
def find_or_initialize_by_user_id(user_id)
criteria.where(:user_id => user_id).first || build(:user_id => user_id)
end
end
谢谢 查看mongoid 2.0的代码has\u many只是has\u many的别名:
➜ mongoid git grep has_many_related
lib/ mongoid/relations/macros.rb: alias :has_many_related :has_many
只需将其更改为:has_many并保持代码不变。Mongoid文档中有一个块的示例:has_many查看Mongoid 2.0的代码has_many related只是has_many的别名:
➜ mongoid git grep has_many_related
lib/ mongoid/relations/macros.rb: alias :has_many_related :has_many
只需将其更改为:has_many并保持代码不变。在Mongoid文档中有一个块示例:has_many只需使用has_many而不是has_many相关
例如:
class User
include Mongoid::Document
field :name, type: String
field ...
has_many :food_reviews
def find_or_initialize_by_user_id(user_id)
criteria.where(:user_id => user_id).first || build(:user_id => user_id)
end
end
class FoodReview
include Mongoid::Document
field ...
belongs_to :user
end
请注意,复数形式的有很多:食品评论和单数形式的类食品评论。如果你想引用一篇单独的评论,只需使用has\u one:food\u review
(参见)只需使用has\u many而不是has\u many相关
例如:
class User
include Mongoid::Document
field :name, type: String
field ...
has_many :food_reviews
def find_or_initialize_by_user_id(user_id)
criteria.where(:user_id => user_id).first || build(:user_id => user_id)
end
end
class FoodReview
include Mongoid::Document
field ...
belongs_to :user
end
请注意,复数形式的有很多:食品评论和单数形式的类食品评论。如果你想引用单个评论,只需使用has\u one:food\u review
(请参阅)food\u review是同一个收藏的一部分还是不同的收藏。下面的答案似乎是对的,如果不是这样的话,你应该接受其中的一个,或者编辑你的帖子,更详细的内容是你评论同一个收藏的一部分或者不同的收藏。下面的答案似乎是对的,你应该接受其中一个,或者编辑你的帖子,如果不是这样的话,提供更多细节