所以这是我要问的一个例子 我有一个帖子模型和一个作家模型。
class Post
include Mongoid::Document
...
belongs_to :writer, class_name: 'Writer', inverse_of: :posts
end
class Writer
include Mongoid::Document
field :name, :type => String
has_many :posts, inverse_of: :writer
end
从其他设计考虑因素来看,帖子未嵌入到编写器模型中。
现在我希望在帖子视图中显示作家姓名。 类似的东西:
<div>
Writer: <%= @post.writer.name %>
</div>
现在默认的脚手架控制器。
我注意到的第一件事是,在mongo中,字段是writer_id。
那么从id中推断名称的正确方法是什么(另一个查询?真的吗?)
我得到的错误:
undefined method `name' for nil:NilClass
当我在rails console中尝试时:
ccc=Post.find_by(name:"bla bla")
ccc.writer >>> nil
ccc.writer_id >>> "5284c0bc1d41c837c1000001"
答案 0 :(得分:0)
嗯 - 确实应该有效。我在错误的树上吠叫。如果有人像我一样认为这是他们的问题 - 看看这里发生了什么: multiple belongs_to in mongoid