Я хочу создать некоторые модели ActiveRecord с помощью ОДНОГО МЕТОДА.
Мои записи приведены ниже.
class Company < ApplicationRecord
has_many :users
has_many :teams
has_many :participations
end
class User < ApplicationRecord
belongs_to :company
has_many :participations
has_many :teams, through: :participations
end
class Team < ApplicationRecord
belongs_to :company
has_many :participations
has_many :users, through: :participations
end
class Participation < ApplicationRecord
belongs_to :company
belongs_to :user
belongs_to :team
end
Мои окружения.
$ ruby -v
ruby 2.4.5p335 (2018-10-18 revision 65137) [x86_64-darwin17]
$ rails -v
Rails 5.0.7.1
Я пробовал это.Но возникла ошибка.
u = User.create(
company: Company.create,
teams: [
Team.create(company: Company.create)
]
)
irb(main):021:0* u.errors
=> #<ActiveModel::Errors:0x00007faf7f5668b0 @base=#<User id: nil, company_id: 25, name: nil, created_at: nil, updated_at: nil>, @messages={:participations=>["is invalid"]}, @details={:participations=>[{:error=>:invalid}]}>
irb(main):022:0> u.participations
=> #<ActiveRecord::Associations::CollectionProxy [#<Participation id: nil, company_id: nil, user_id: nil, team_id: 15, created_at: nil, updated_at: nil>]>
Могу ли я создать какую-нибудь запись по ONE LINE ??или не может ??