Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用RubyonRails和MongoDB的模型的未定义方法?_Ruby On Rails_Mongodb_Model_Mongomapper - Fatal编程技术网

Ruby on rails 使用RubyonRails和MongoDB的模型的未定义方法?

Ruby on rails 使用RubyonRails和MongoDB的模型的未定义方法?,ruby-on-rails,mongodb,model,mongomapper,Ruby On Rails,Mongodb,Model,Mongomapper,我开始使用非SQL数据库,特别是MongoDB和RubyonRails,因为我相信灵活的模式将是一个优势。现在,我很困惑,因为有些我期待的事情根本不起作用。具体来说,我的一个页面上有一个方法丢失错误 NoMethodError in Users#new undefined method `email' for #<User _id: BSON::ObjectId('4eb8cbcaef704c02da000017')> Extracted source (around line

我开始使用非SQL数据库,特别是MongoDB和RubyonRails,因为我相信灵活的模式将是一个优势。现在,我很困惑,因为有些我期待的事情根本不起作用。具体来说,我的一个页面上有一个方法丢失错误

NoMethodError in Users#new

undefined method `email' for #<User _id: BSON::ObjectId('4eb8cbcaef704c02da000017')>

Extracted source (around line #13):

10:       <tbody><tr>
11:         <td><%= f.label :email %>:</td>
12:         <td>
13:           <%= f.text_field :email, :placeholder => "your email address" %>
14:         </td>
15:       </tr>
16:       <tr>

如果查看错误消息,您将看到如下内容:

#<User _id: BSON::ObjectId('4eb8cc4def704c0358000005')>
导航可能会很困难,但重要的一点是存在的


因此,MongoMapper确实使用某种模式。

如果您查看错误消息,您将看到如下内容:

#<User _id: BSON::ObjectId('4eb8cc4def704c0358000005')>
导航可能会很困难,但重要的一点是存在的


所以MongoMapper确实使用了某种模式。

你的问题在于comand User.new.email你试图使用一种叫做email的方法,但我认为email是一种属性而不是一种方法。

你的问题在于comand User.new.email你试图使用一种叫做email的方法,但我认为email是一种属性而不是一种方法方法

很抱歉,我在文档中找不到此方法。这是否意味着我想要的每个属性都是一个键?是否索引了密钥?例如,我有一个属性:salt,它不应该被索引:密码也不应该被索引。。。它们都是密钥吗?@Dave:key只是表示属性,它类似于attr_accessor,但告诉MongoMapper该属性将被持久保存在MongoDB集合中;术语很糟糕,因为键类似于关系系统中的列或字段。索引是使用Sure_索引完成的。更多信息请参见文档中的和。MongoDB希望它能像mu的大脑一样运行。很抱歉,我在文档中找不到这个。这是否意味着我想要的每个属性都是一个键?是否索引了密钥?例如,我有一个属性:salt,它不应该被索引:密码也不应该被索引。。。它们都是密钥吗?@Dave:key只是表示属性,它类似于attr_accessor,但告诉MongoMapper该属性将被持久保存在MongoDB集合中;术语很糟糕,因为键类似于关系系统中的列或字段。索引是使用Sure_索引完成的。更多信息请参见文档中的和。MongoDB希望它能像mu太短的大脑一样运行。
#<User _id: BSON::ObjectId('4eb8cc4def704c0358000005')>
class User
  include MongoMapper::Document

  key :password, String
  key :username, String
  key :email, String
  #...