mongoid模型的关键不起作用

Ser*_*hei 4 ruby-on-rails mongodb mongoid

我安装了gem mongoid到RoR应用程序,但收到错误"未定义的方法`键?" 为nil:NilClass",同时为键功能指定属性.

所以我有这个模型:

 class Author
      include Mongoid::Document
      field :name
      key :name
    end
Run Code Online (Sandbox Code Playgroud)

并默认脚手架控制器和运行此url localhost:3000/authors,收到此错误

NoMethodError in AuthorsController#index

undefined method `key?' for nil:NilClass
Rails.root: C:/Users/Jeremy/RubymineProjects/university
Run Code Online (Sandbox Code Playgroud)

宝石文件:

source 'https://rubygems.org'

gem 'rails', '3.2.6'
gem "mongoid", "~> 3.0.0"
gem "bson_ext", "~> 1.2"

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'
Run Code Online (Sandbox Code Playgroud)

我从这里使用了指南http://railscasts.com/episodes/238-mongoid?view=asciicast,做了两次相同的事情.

ted*_*ted 7

Model.identity和Model.key已被删除.对于自定义ID,用户现在必须覆盖_id字段.如果默认值为proc,则在设置所有其他属性应用默认值.

class Band
  include Mongoid::Document
  field :_id, type: String, default: ->{ name } # which was `key :name` before v3
end
Run Code Online (Sandbox Code Playgroud)

文档:http://mongoid.org/en/mongoid/docs/upgrading.html