Ruby on rails 使用RubyonRails和MongoDB的模型的未定义方法?
我开始使用非SQL数据库,特别是MongoDB和RubyonRails,因为我相信灵活的模式将是一个优势。现在,我很困惑,因为有些我期待的事情根本不起作用。具体来说,我的一个页面上有一个方法丢失错误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
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
#...