Sri*_*i K 10 ruby ruby-on-rails models
假设我有一个独立的用户模型和服务模型.
我还有一个订单模型,用于保存用户为服务创建的订单.我想知道如何在rails中正确创建订单条目.
以下是我将如何创建订单条目,如果它仅引用另一个模型,比如用户.
@order = current_user.orders.build(params[:order])
@order.save
Run Code Online (Sandbox Code Playgroud)
现在,如果订单涉及多个模型(用户和服务),我该怎么做?
假设Order模型具有user_id和service_id属性,并且所有模型对象都使用belongs_to和has_many关系正确标记.
@order = Order.new(params[:order])
@order.user = current_user
@order.service = @service
@order.save
Run Code Online (Sandbox Code Playgroud)
@service你获得的服务在哪里?
这就是我解决这个问题的方法,最好是第一种方法。
current_user.orders.create!(params[:order].merge({ :service => @service }))
or
@service.orders.create!(params[:order].merge({ :user => current_user }))
Run Code Online (Sandbox Code Playgroud)