我有一个相对简单的地址部分,用于“新”和“编辑”表单,以便在对象上需要地址时使用。它工作得很好。现在的问题是我希望相同的字段显示在我的“显示”视图中。唯一的问题是我的地址部分需要一个“显示”视图中不存在的表单。我会复制它,但是将一个部分用于新/编辑和另一个用于显示似乎不是很干燥。
我想知道是否有人解决了这个问题。我考虑过使用 .new 吗?和.persisted?但这并没有真正的帮助,因为用于编辑的对象会以与显示对象相同的方式传递这两个对象。
任何帮助是极大的赞赏。
编辑:这是我的新地址和编辑地址。我想在新的、编辑和显示视图中使用相同的部分,因为重新创建一个全新的部分似乎不是很干。我看到的问题是这个部分需要一个表单:f,这当然在“显示”视图中不可用。
<p>
<%= f.label :address_line_1, 'Address 1' %><br />
<%= f.text_field :address_line_1 %>
</p>
<p>
<%= f.label :address_line_2, 'Address 2' %><br />
<%= f.text_field :address_line_2 %>
</p>
<p>
<%= f.label :city %><br />
<%= f.text_field :city %>
</p>
<p class="address_state">
<%= f.label :state , "State" %><br />
<%= f.select :state, us_states, :include_blank => true %>
</p>
<p>
<%= f.label :zip_code, 'Zip Code' %><br />
<%= f.text_field :zip_code %>
</p>