#ruby-on-rails #ruby #belongs-to #has-one
#ruby-on-rails #ruby #принадлежит #имеет один
Вопрос:
Я хочу создать исходные данные, которые соответствуют указанным ограничениям внешнего ключа.
Я получаю сообщение «неопределенный метод ‘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:
@Jared = User.create [{login: "Jared", password: "password2"}]
@Jared.first.account.create([{gender: "male", age: 99, first_name: "Irish", last_name: "Coder"}])
где эта часть равна нулю
@Jared.first
попробуйте:
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"}