我想创建一个模型并同时更新另一个模型的一部分。
我有两个模型Order
和Listing
。 Order belongs_to :listing
和Listing has_many :orders
当用户填写订单时,会创建订单。在网址中,有一个名为passengers
的参数通过GET
方法发送(网址如下: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])
答案 0 :(得分:0)
而不是@order.listing.passengers = params[:passengers]
,请尝试@order.listing.update_attribute(:passengers, params[:passengers])
。