Создание данных Seal Rails с внешними ключами - PullRequest
1 голос
/ 12 ноября 2011

Я хочу создать начальные данные, соответствующие указанным ограничениям внешнего ключа.

Я получаю сообщение "неопределенный метод 'create' для nil: NilClass"

Мои команды:

rails g model user login:string password:string
rails g model account gender:string age:integer first_name:string last_name:string user:references

seeds.rb

User.delete_all
Account.delete_all

Попытка 1 заполнить связанные таблицы

@Jared = User.create [{login: "Jared", password: "password2"}]
@Jared.first.account.create([{gender: "male", age: 99, first_name: "Irish", last_name: "Coder"}])

Попытка 2 заполнить связанные таблицы

acct = Account.create [{gender: "male", age: 99, first_name: "Irish", last_name: "Coder"}]
@Jared.account = acct

user.rb

class User < ActiveRecord::Base
  has_one :account
end

account.rb

class Account < ActiveRecord::Base
  belongs_to :user
end

1 Ответ

1 голос
/ 10 марта 2012
@Jared = User.create [{login: "Jared", password: "password2"}]
@Jared.first.account.create([{gender: "male", age: 99, first_name: "Irish", last_name: "Coder"}])

, где эта часть равна нулю

@Jared.first

try:

defaults = User.create(login: "Jared", password: "password2")
User.create{login: defaults.login, password: defaults.password, gender: "male", age: 99, first_name: "Irish", last_name: "Coder"}
...