在一个控制器中创建和更新两个模型

Create and update two models in one controller

我想创建一个模型并同时更新另一部分。

我有两个模型 OrderListingOrder belongs_to :listingListing has_many :orders

当用户填写订单时,订单就会创建。在 URL 中有一个名为 passengers 的参数通过 GET 方法发送(url 看起来像这样:http://localhost:3000/listings/3/orders/new?passengers=2)。使用此参数,我只想更新列表模型的一列。

我尝试将 accepts_nested_attributes_for :listing 添加到 Order 模型并更改 orders_controller

编辑 - 问题已解决 解决方案:orders_controller:

@order = Order.new(order_params)
@listing = Listing.find(params[:listing_id])
@listing.update_attribute(:passengers, params[:passengers])

而不是 @order.listing.passengers = params[:passengers],试试 @order.listing.update_attribute(:passengers, params[:passengers])