2013-11-27 70 views
0

訪問文件的mongoid領域所以這裏是要問什麼,我的例子。
我有一個後期模型和一個作家模型。通過belongs_to的

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

當我嘗試在軌控制檯:
ccc=Post.find_by(name:"bla bla")
ccc.writer >>> nil
ccc.writer_id >>> "5284c0bc1d41c837c1000001"

+0

這應該工作得很好,因爲Mongoid生成要加載ActiveModel關聯的輔助方法。它不適合你嗎?你沒有說明你的結果。 –

+0

我越來越: 未定義的方法'名稱」的零:NilClass 我計算過,監守我沒有作家,只writer_id – Boaz

+0

當我嘗試在軌控制檯: CCC = Post.find_by(名稱: 「bla bla」) ccc.writer >>> nil ccc.writer_di >>>「5284c0bc1d41c837c1000001」 – Boaz

回答

0

嗯 - 確實它應該工作。我在錯誤的樹上吠叫。如果有人認爲像我這樣的,這是他們的問題 - 在這裏看看到底發生了什麼: multiple belongs_to in mongoid

相關問題