我想在同一页面上为模型添加和编辑表单。您可以在此屏幕截图中看到我正在使用 JS 显示和隐藏 2 个表单:
在编辑表单中,用户选择一个 Aircraft ID 并使用一些 Ajax 填充其他数据。
目前,我正在从这样的部分渲染这两种形式:
<!-- Add Aircraft -->
<div id="aircraftmodal-add-content">
<%= render 'aircrafts/new' %>
</div>
<!-- Edit Aircraft -->
<div id="aircraftmodal-edit-content">
<%= render 'aircrafts/edit' %>
</div>
我的表单呈现几乎相同的内容,我通过为 Edit 表单提供不同的 ID 来绕过它:
<!-- Add Partial --->
<%= form_for @aircraft, validate: true, remote:true do |air| %>
<!-- Edit Partial -->
<%= form_for @aircraft, :html => { id:'edit_aircraft'}, validate: true, remote:true do |air| %>
当我像这样将 2 个表单放在同一页面上时,我能以某种方式使用内置的 Rails 优点来处理编辑吗?我是否必须将编辑表单指向不同的操作,或者通常的代码可以同时处理两者?
def create
@aircraft = current_user.aircrafts.build(params[:aircraft])
@aircraft.save
end
欢迎您的指导。:)