Rails 4.0.1 Ruby 2.0.0 p247
嗨 - 刚刚遇到mongoid和rails 4的问题 - 已经选择了一个简单的例子(1:1)来尝试在rails中工作,但到目前为止还没有骰子。到目前为止我已经完成了这些步骤
rails new musicstore --skip-active-record
=> edit gemfile
gem 'mongoid', :github => 'mongoid/mongoid'
rails g mongoid:config
mongod run --config /local/usr/etc/mongod.conf
(new term)
rails g Band name:string
rails g Studio studioname:string
按如下方式编辑以下课程......
class Band
include Mongoid::Document
has_one :studio
end
class Studio
include Mongoid::Document
field :name, type: String
belongs_to :band
end
运行控制台
At this point if I run
2.0.0p247 :005 > Band.studio
我为Band:Class 获得未定义的方法`studio'(在工作室周围有不同的引号......与命名相关?)
此外,如果我创建一个Band记录(Band.create!name:=>“test”,我没有看到该孩子的任何记录,类似......
{ "_id" : ObjectId("4d3ed089fb60ab534684b7e9") }
{
"_id" : ObjectId("4d3ed089fb60ab534684b7f1"),
"band_id" : ObjectId("4d3ed089fb60ab534684b7e9")
}
}
无论如何,它让我感到难过 - 任何帮助都表示赞赏。
干杯!
答案 0 :(得分:0)
class Band
include Mongoid::Document
field :name
has_one :studio
end
class Studio
include Mongoid::Document
field :name, type: String
belongs_to :band
end
my_band = Band.create
my_band.studio
# => nil
my_band.studio = Studio.create
您看到Band.studio
不正确。首先尝试创建/初始化乐队
另外,如何为方法提供参数不正确(Band.create! name: => "test"
)。这样做:Band.create! name: "test"
或Band.create! :name => "test"
。不要两者结合:)