2009-12-05 9 views
0

У меня есть 3 модели: пользователь, продавец и автомобилисвязывающие моделей рубин на рельсах

я хочу, чтобы пользователь имел возможности выбрать автомобиль с продавцом, и это будет добавлено в список покупок пользователя.

У меня есть что-то подобное в мой контроллер автомобиля:

@user = User.find(params[:user]) 
    @seller = Seller.find(params[:seller]) 

    @car = @user.cars.build(params[:car]) 

но продавец разве добавляемого. как я могу это сделать, пожалуйста?

Btw У меня есть это:

class Car < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :seller 
end 

в моей модели для автомобиля

+0

Вы задали 45 вопросов, но принимаются ответы только на 4. Вы можете найти больше людей, которые готовы помочь, если вы принимаете ответы. –

ответ

2

добавить:

@car.seller = @seller после того, как вы строите машину. Затем @car.save

Сборка не знает о продавце, вам нужно сообщить продавцу, что у него есть продавец. Он действительно знает, что есть пользователь, потому что вы создали автомобиль у пользователя.

Вы также можете сделать:

@car = Car.new 
@car.seller = @seller 
@car.user = @user 
+0

Большое спасибо! – Lilz

1

Если вы убедитесь, что поля в вашей форме, которые производят Params [: автомобиль] включает в себя поле для идентификатора продавца вам не нужно, чтобы изменить свой контроллер на всех ,

Например:

<% fields_for :car, @seller.cars.build do |car_form| %> 
<%= car_form.hidden_field :seller_id 
... more fields for car form ... 

<% end %> 
Смежные вопросы