我试图制作一个条件为初始化的first_or_initialize
,
我有什么:
def find_or_initialize_user(name)
User.where(company: company).first_or_initialize(company: company, name: name)
end
我只想在company.can_add_user
设置为true的情况下制作新记录,
你知道怎么做吗?
我认为以下方法应该有效:
User.joins(:company).where('companies.can_add_user').first_or_initialize(company: company, name: name)
其中的第一部分应该大致转换为以下SQL查询
select * from users u
join companies c on u.company_id = c.id
where c.can_add_to_user = true