gpt4 book ai didi

ruby-on-rails - Factory-bot - 如何建立关联和嵌套属性

转载 作者:行者123 更新时间:2023-12-05 01:16:01 27 4
gpt4 key购买 nike

我是工厂新手,我需要有关关联和嵌套属性的帮助....

  • 如何设置创建产品的管理员用户?好的
  • 如何为产品设置类别?好的
  • 如何将图片附加到产品上?好的

  • 如何设置产品尺寸(嵌套属性)

用户.rb

 has_many :products

产品.rb

belongs_to :user
belongs_to :category
has_many :sizes, inverse_of: :product, dependent: :destroy #nested_attributes

大小.rb

belongs_to :product

类别.rb

has_many :products

工厂/用户.rb

  FactoryBot.define do
factory :user do
first_name { Faker::Name.first_name}
last_name { Faker::Name.last_name }
admin { [false, true].sample }
sequence(:email) { |n| "#{n}#{Faker::Internet.email}" }
birth_date {"20/10/1997"}
password { 'password'}
end
end

工厂/类别.rb

FactoryBot.define do
factory :category do
title { Faker::Artist.name }
end
end

工厂/大小.rb

FactoryBot.define do 
factory :size do
size_name {["S", "M", "L", "XL"].sample }
quantity { Faker::Number.number(2) }
end
end

工厂/产品.rb

FactoryBot.define do
factory :product do
title { Faker::Artist.name}
ref { Faker::Number.number(10)}
price { Faker::Number.number(2) }
color { Faker::Color.color_name }
brand { Faker::TvShows::BreakingBad }
description { Faker::Lorem.sentence(3) }
size
category
# how to set an admin ??
end
end

最佳答案

像这样添加关联

对于产品

FactoryBot.define do 
factory :product do
user {User.first || association(:user)}
user {User.first || association(:user, admin: true)}
# your admin attribute (role: admin or admin: true) whatever you are using for admin
category {Category.first || association(:category)}
end
end

阅读FactoryBot association希望对您有所帮助。

关于ruby-on-rails - Factory-bot - 如何建立关联和嵌套属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54627798/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com