目前我已經解決了這個問題。雖然,不是我的首選方式:
我將從描述我是如何增加一個地區到一個狀態,因爲這是比較複雜的一個解釋。
國家 - show.html.erb(新路唯一的代碼)設置GET參數,給國家的ID和COUNTRY_ID,最好我想一些其他方式發送這些,但我需要同時發送。
<td colspan=4>
<%=
link_to 'New District',
new_district_path(
:country_id => @state.country_id,
:state_id => @state.id
)
%>
</td>
區 - new.html.erb(設置COUNTRY_ID和STATE_ID的情況下值或傳遞的參數......我想使用POST發送,而不是那些參數)
<h1>New district</h1>
<%
@district.country_id = @district.country_id || params[:country_id] || ""
@district.state_id = @district.state_id || params[:state_id] || ""
%>
<%= render 'form' %>
<%= link_to 'Back', state_path(params[:state_id]) %>
區 - _form.html.erb
<%= form_for(@district) do |f| %>
<% if @district.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@district.errors.count, "error") %> prohibited this district from being saved:</h2>
<ul>
<% @district.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :country_id %><br>
<%= f.number_field :country_id %>
</div>
<div class="field">
<%= f.label :state_id %><br>
<%= f.number_field :state_id %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我居然決定不使用任何嵌套了這些的,包括每個單獨的路徑,而不是去,然後就建立它們之間的聯繫。更多信息在一個單獨的答案。也許你可以給我一個更好的方法來做這個建議。 –