Не удается отобразить поле ссылочного документа монго в rails3 - PullRequest
1 голос
/ 09 ноября 2010

Я работаю над приложением To-Do, чтобы немного попрактиковаться с Rails3 и MongoDB.

У меня есть Item, который был тегом, и с тегом будет связано много элементов.

Моя проблема: 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>

Третья строка или строка тега файла шоу - это то, что вызывает у меня проблемы.Ниже приведена ошибка:

Не найден документ для класса Tag с идентификатором (ями) 4cd75765f5c4932f19000002.

, если я заменю соответствующую строку на строку ниже, а затем на правильнуюотображается идентификатор тега (однако я хочу, чтобы имя тега было очевидно)

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

1 Ответ

1 голос
/ 10 ноября 2010

Класс Tag имеет два атрибута с именем 'name'. Попробуйте удалить key :name

...