我正在开发一个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>
答案 0 :(得分:1)
Tag类有两个名为'name'的属性。
尝试删除key :name