无法在rails3中显示引用的mongo文件的字段

时间:2010-11-09 02:30:46

标签: ruby-on-rails ruby-on-rails-3 mongodb mongoid

我正在开发一个To-Do应用程序,以便使用Rails3和MongoDB进行一些练习。

我有一个物品,它是一个标签,一个标签将有许多与之相关的物品。

我的问题:show.html.erb不想显示标记名称。

# models/item.rb
class Item
 include Mongoid::Document
 field :name
 field :completed, :type => Boolean
 referenced_in :tag  
end

# models/tag.rb
class Tag
 include Mongoid::Document
 field :name
 key :name
 references_many :items
end

# items_controller.rb
 def show
    @item = Item.find(params[:id])

    respond_to do |format|
         format.html # show.html.erb
         format.xml  { render :xml => @item }
    end
 end

<!-- items/show.html.erb -->
<p>Name: <%= @item.name %></p>
<p>Completed: <%= @item.completed %></p>
<p>Tag: <%= @item.tag.name %></p>

show文件的第三行或标记行是我的问题所在。错误如下:

  

找不到类Tag的文档   id(s)4cd75765f5c4932f19000002。

如果我用下面的行替换有问题的行,则会显示正确的标记ID(但我显然需要标记名称)

<p>Tag: <%= @item.tag_id %></p>

1 个答案:

答案 0 :(得分:1)

Tag类有两个名为'name'的属性。 尝试删除key :name

相关问题