【发布时间】:2017-04-19 20:14:05
【问题描述】:
我有一个表单,我需要在其中创建两个对象:sale 和 organization。这发生在 sales_controller 内部。
为简洁起见,模型及其属性为:
sale
amount (integer)
organization_id (uuid)
organization
name (string)
sale belongs_to organization
organization has_many sales
sales new 应该是这样的。它有一个销售输入,用户将输入,它还有一个组织名称输入,用户将输入。提交后,用户将创建一个新的销售(并创建一个与该销售相关的新组织)。
我正在尝试找出 sales_controller 中 create 方法的最佳实践。
def create
@sale = Sale.new(sale_params) #assume sale_params permits organization_id and amount
@organization = Organization.create(params[:name])
#@sale.organization_id = @organization.id
if @sale.save
render json: @sale
else
render json: sale, status: :unprocessable_entity
end
end
@organization = Organization.create(...) 感觉不对。有没有办法以“Rails”方式提交多个对象?
【问题讨论】:
-
一篇旧文章,但以下内容应该有所帮助:webuild.envato.com/blog/… 您实际上并不需要 Virtus,但该文章将为您提供总结验证等的要点。
标签: ruby-on-rails