fields_for를 사용하여 두 개의 다른 모델을 업데이트하는 양식이 있습니다.모든 필드를 전달하지 않는 fields_for 필드
다음<%= form_for @cart, :remote => true do |cart| %>
<%= fields_for @cart.order, :remote => true do |order| %>
<%= order.select :country, options_for_select(@country_options) %>
<%= order.text_field :zip %>
<% end %>
<%= cart.select :shipping_method,options_for_select(@shipping_options) %>
<% end %>
가 업데이트 작업에 PARAMS에 포함되어있는 것입니다 : 제출지고있는 fields_for 내부의 요소 만 원래 form_for에 대한 것들에 대한 데이터가 여기에
누락하는 형태입니다{"_method"=>"put", "utf8"=>"\342\234\223", "action"=>"update", "order"=>{"zip"=>"48360", "country"=>"US"}, "id"=>"1", "controller"=>"carts"}
왜 shipping_method 필드가 매개 변수에 표시되지 않습니까? 난 당신이 아마 다음과 같은 몇 가지 일을 시도해야한다고 생각
<form accept-charset="UTF-8" action="/carts/3" class="edit_cart" data-remote="true" id="edit_cart_3" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" value="✓" type="hidden"><input name="_method" value="put" type="hidden"></div>
<select id="order_country" name="order[country]"><option value="US">United States</option></select>
<input id="order_zip" name="order[zip]" size="30" value="90001" type="text">
<select id="cart_shipping_method" name="cart[shipping_method]"><option value="FedEx Ground" selected="selected">FedEx Ground: $5.00</option></select>
</form>
출력 된 HTML을 표시 할 수 있습니까? –