【发布时间】:2023-03-26 11:47:02
【问题描述】:
我正在构建一个应用程序,它将管理员和公司置于一种形式中并将两者连接起来。连接部分设置了belongs_to关系(管理员属于公司)。
我遇到的问题是我正在使用 Devise,它会自动获取我的所有参数并尝试创建用户。问题是,在参数中,公司只是一个名称字符串。所以我需要建立公司,然后(大概)将 company_id 发送给 Devise,或者之后自己设置。
这是我在 Admin:RegistrationController 中尝试过的。
def create
@company = Company.create(name: params[:admin][:company])
super
@admin.company = @company
end
创建管理员失败,Devise 返回错误“公司必须存在”。而且显然也很老套(或者至少感觉是这样)。
我应该在这里做什么,最佳做法是什么?谢谢!
【问题讨论】:
-
我会考虑使用
accepts_nested_attributes_for :company
标签: ruby-on-rails activerecord devise