【发布时间】:2015-09-02 01:05:03
【问题描述】:
我想在 User 和 CriminalRecord 之间创建一个简单的 belongs_to 关联。一个用户只有一条记录,一条记录属于一个用户。到目前为止,我在相应的文件中有以下内容。
模型 > user.rb
class User < ActiveRecord::Base
end
模型 >criminal_record.rb
class CriminalRecord < ActiveRecord::Base
belongs_to :user
end
db > 迁移 > 20150902003211_create_criminal_records
class CreateCriminalRecords < ActiveRecord::Migration
def change
create_table :criminal_records do |t|
t.belongs_to :user, index: true
t.murderer :boolean
t.thief :boolean
t.timestamps null: false
end
end
end
我可以为 User 创建一条记录,并为CriminalRecord 创建一条记录。但是,即使我在犯罪记录实例中将 user_id 设置为用户的 id,我也无法完成这样的事情。
User.last.criminal_records
或者就此而言,我无法执行以下任何操作
john = User.last
john.criminal_record.create(murderer:false, thief: true)
# or
record = CriminalRecord.create(murderer:false, thief: true)
john << record
我得到 NoMethodError
【问题讨论】:
标签: ruby-on-rails activerecord