【发布时间】:2016-11-28 20:33:21
【问题描述】:
我正在尝试将 ff.inputs 放在关于双嵌套对象的 f.inputs 中,但 ff.inputs 没有出现。当我将它放在一个部分中时,它会显示但会重复这些字段。
有人知道解决这个问题的方法吗?
表格:
form do |f|
f.inputs 'Brand Details' do
f.input :name
f.input :heritage
end
f.inputs 'Logo', for: [:logo, f.object.logo || Image.new ] do |ff|
ff.input :file, as: :file, hint: (ff.template.image_tag(ff.object.file.url) if ff.object.file?)
ff.input :_destroy, as: :boolean, label: 'Remove' unless ff.object.new_record?
end
# render partial: 'banner_form'
f.inputs 'Heritage Banner', for: [:heritage_banner, f.object.heritage_banner || Banner.new] do |hb|
hb.input :name
hb.inputs 'Desktop Image*', for: [:desktop_image, hb.object.desktop_image || Image.new ] do |di|
di.input :file, label: 'Image', as: :file, hint: (di.template.image_tag(di.object.file.url) if di.object.file?)
di.input :_destroy, as: :boolean, :label => 'Remove' unless di.object.new_record?
end
hb.inputs 'Mobile Image*', for: [:mobile_image, hb.object.mobile_image || Image.new ] do |mi|
mi.input :file, label: 'Image', as: :file, hint: (mi.template.image_tag(mi.object.file.url) if mi.object.file?)
mi.input :_destroy, as: :boolean, :label => 'Remove' unless mi.object.new_record?
end
hb.input :video_url
end
f.inputs 'Header Banner', for: [:header_banner, f.object.header_banner || Banner.new] do |hb|
hb.input :name
hb.inputs 'Desktop Image*', for: [:desktop_image, hb.object.desktop_image || Image.new ] do |di|
di.input :file, label: 'Image', as: :file, hint: (di.template.image_tag(di.object.file.url) if di.object.file?)
di.input :_destroy, as: :boolean, :label => 'Remove' unless di.object.new_record?
end
hb.inputs 'Mobile Image*', for: [:mobile_image, hb.object.mobile_image || Image.new ] do |mi|
mi.input :file, label: 'Image', as: :file, hint: (mi.template.image_tag(mi.object.file.url) if mi.object.file?)
mi.input :_destroy, as: :boolean, :label => 'Remove' unless mi.object.new_record?
end
hb.input :video_url
end
f.actions
end
当使用部分时,就是这样:
<%= semantic_form_for [:admin, @brand] do |f| %>
<%= f.inputs 'Heritage Banner', for: [:heritage_banner, f.object.heritage_banner || Banner.new] do |hb| %>
<%= hb.input :name %>
<%= hb.inputs 'Desktop Image*', for: [:desktop_image, hb.object.desktop_image || Image.new ] do |di| %>
<%= di.input :file, label: 'Image', as: :file, hint: (di.template.image_tag(di.object.file.url) if di.object.file?) %>
<%= di.input :_destroy, as: :boolean, :label => 'Remove' unless di.object.new_record? %>
<% end %>
<%= hb.inputs 'Mobile Image*', for: [:mobile_image, hb.object.mobile_image || Image.new ] do |mi| %>
<%= mi.input :file, label: 'Image', as: :file, hint: (mi.template.image_tag(mi.object.file.url) if mi.object.file?) %>
<%= mi.input :_destroy, as: :boolean, :label => 'Remove' unless mi.object.new_record? %>
<% end %>
<%= hb.input :video_url %>
<% end %>
<%= f.inputs 'Header Banner', for: [:header_banner, f.object.header_banner || Banner.new] do |hb| %>
<%= hb.input :name %>
<%= hb.inputs 'Desktop Image*', for: [:desktop_image, hb.object.desktop_image || Image.new ] do |di| %>
<%= di.input :file, label: 'Image', as: :file, hint: (di.template.image_tag(di.object.file.url) if di.object.file?) %>
<%= di.input :_destroy, as: :boolean, :label => 'Remove' unless di.object.new_record? %>
<% end %>
<%= hb.inputs 'Mobile Image*', for: [:mobile_image, hb.object.mobile_image || Image.new ] do |mi| %>
<%= mi.input :file, label: 'Image', as: :file, hint: (mi.template.image_tag(mi.object.file.url) if mi.object.file?) %>
<%= mi.input :_destroy, as: :boolean, :label => 'Remove' unless mi.object.new_record? %>
<% end %>
<%= hb.input :video_url %>
<% end %>
【问题讨论】:
标签: ruby-on-rails forms activeadmin formtastic