【发布时间】:2017-07-11 12:36:01
【问题描述】:
我正在使用改革 gem 在我当前的项目中创建一个表单对象,但嵌套字段没有显示在表单中。这是我的代码:
发货型号:
class Shipment < ApplicationRecord
has_one :shipment_detail
end
ShipmentDetail 型号:
class ShipmentDetail < ApplicationRecord
belongs_to :shipment
end
改革班
class ShipmentForm < Reform::Form
property :shipment_type
property :measure
property :shipment_detail do
property :po_number
property :job_no
end
end
控制器
class ShipmentsController < ApplicationController
def new
@shipment = ShipmentForm.new(Shipment.new)
end
end
模板
<%= form_for @shipment, url: shipments_path, method: :post do |f| %>
<%= f.label :shipment_type %><br />
<%= f.text_field :shipment_type %><br /><br />
<%= f.label :measure %><br />
<%= f.text_field :measure %><br /><br />
<%= f.fields_for :shipment_detail do |d| %>
<%= d.label :po_number %><br />
<%= d.text_field :po_number %><br /><br />
<%= d.label :job_no %>
<%= d.text_field :job_no %><br /><br />
<% end %>
<% end %>
只有字段 shipment_type 和 measure 在表单上可见,po_number 和 job_no 不可见。我应该怎么做才能让它们可见?
【问题讨论】:
-
collection :shipment_detail do property :po_number property :job_no end try this
-
@stef 不起作用
-
您是否在编辑完改革类后重新启动了您的开发服务器?它可能不在重新加载路径列表中。
-
你需要像这样实例化吗?
@shipment = ShipmentForm.new(Shipment.new(:shipment_detail => ShipmentDetail.new })也许? -
是的,我重启了服务器
标签: ruby-on-rails ruby reform