我有3个型号:用户,卖家和汽车
我希望用户能够从卖家中选择一辆车,并将其添加到用户的购物清单中。
我的车控制器中有这样的东西:
@user = User.find(params[:user])
@seller = Seller.find(params[:seller])
@car = @user.cars.build(params[:car])
但是卖家没有被添加。我该怎么办呢?
是的,我有这个:class Car < ActiveRecord::Base
belongs_to :user
belongs_to :seller
end
在我的汽车模型中
答案 0 :(得分:2)
添加:
制造汽车后 @car.seller = @seller
。然后@car.save
Build不了解@seller,你需要告诉汽车它有卖家。它只是真的知道有一个用户,因为你是从用户创建了汽车。
你也可以这样做:
@car = Car.new
@car.seller = @seller
@car.user = @user
答案 1 :(得分:1)
如果您确保表单中生成参数[:car]的字段包含卖家ID的字段,则根本不需要更改控制器。
例如:
<% fields_for :car, @seller.cars.build do |car_form| %>
<%= car_form.hidden_field :seller_id
... more fields for car form ...
<% end %>
答案 2 :(得分:0)
@car.seller = @seller