초급 질문. 나는 색인에 모달 박스 목록 공급 업체가 있습니다. 이 공급 업체 (및 @ supplier.products)의 새 구매 양식을 렌더링하려면 supplier_id를 어떻게 든 전달해야합니다.레일이있는 양식을 통해 매개 변수를 전달하는 방법
모달 창
<% @suppliers.each do |supplier| %>
<li><%= link_to supplier.name, new_purchase_path(@supplier) %></li>
<% end %>
폼
<%= nested_form_for(@purchase) do |f| %>
<div class="field">
<%= f.label :supplier_id, :class => "mandatory" %>
<%= @supplier.name %>
<%= collection_select(:purchase, :supplier_id, Supplier.all, :id, :name, :prompt => true) %>
</div>
나는 내가 @supplier in purchase#new action
감사를 정의해야하는 경우 확실하지 undefined method "name" for nil:NilClass
을 수행하여 전무 오류가 발생합니다.
* 편집 * 난 할 노력하고있어 것은 내가 그것을 supplier_id되는 무기 호에 대한 불만 양식을 제출할 때 그러나 Parameters: {"supplier_id"=>"2"}
을 설정 supplier_id 콘솔을 통해 확인할 수 있습니다 http://localhost:3004/purchases/new?supplier_id=2
을 통해 새로운 형태를 만드는 것입니다.
supplier_id가 올바르게 설정되었는지 확인하는 방법은 무엇입니까?
def new
@supplier = Supplier.find(params[:supplier_id])
@purchase = current_user.purchases.new(params[:supplier_id => @supplier.id])
@products = @supplier.products
@products.each do |product|
@purchase.purchase_items.build(:product_id => product.id)
end
respond_to do |format|
format.html # new.html.erb
format.json { render json: @purchase }
end
end
컨트롤러 동작의 적절한 부분도 넣을 수 있습니까? supplier_id를 사용하여 공급 업체 등을 어디에서 가져 옵니까? :) –
무엇입니까?'params [: supplier_id => @ supplier.id]'? 그저': supplier_id => @ supplier.id'가 아니겠습니까? –