Rails = Помощь с form_for для передачи в двух моделях - PullRequest
0 голосов
/ 18 августа 2011

У меня есть две модели с выпуском has_one own_to, которые называются purchase_request (has_one) и purchase_order (own_to).Мне нужно убедиться, что параметр purchase_request_id передается на purchase_order, и у него есть маршрут restufl, который гласит:

/ purchase_requests /: purchase_request_id / purchase_orders / new

и новый метод моего контроллера выглядит следующим образом:

def new
 @purchase_request = PurchaseRequest.find_by_id(params[:purchase_request_id])
 @purchase_request.purchase_order = PurchaseOrder.new
end

с представлением, имеющим это:

form_for (@purchase_order, @purchase_request) do |f|

, и я слышал, что скрытое поле не обязательно, если высделать это, но это дает: buy_request ноль в моей таблице.Я также не могу понять, как поместить @ purchase_request.id в скрытое поле.Помощь очень ценится.

Обновление: Однако я решил бы ее, используя этот код <%= f.hidden_field :purchase_request_id, :value=>@purchase_request.id %>, поэтому мне пришлось бы изменить и метод редактирования.

1 Ответ

0 голосов
/ 18 августа 2011

Не уверен, что это правильно, но я:

  • Изменил код моего контроллера на:

    @purchase_order = PurchaseOrder.new({:purchase_request_id=>params[:purchase_request_id]})
    
  • Удостоверился, что мой взгляд имел:

    <%= f.hidden_field :purchase_request_id %>
    
  • и только что имел:

    form_for(@purchase_order) do |f|
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...