我正在尝试以单一形式编辑多个关联。我使用简单的形式,我的关联很简单:
Class Gallery
has_many :pictures
end
Class Pictures
end
每张图片都有图片和标题,但我已经以分开的形式上传了所有图片:我现在需要为每张图片添加一个单独的图片文字。
我尝试使用simple_form执行此操作:
= simple_form_for [:admin, gallery] do |form|
- if gallery.pictures.present?
- gallery.pictures.each do |p|
= image_tag(p.image.url(:thumb), height: '50')
但我找不到为图库的每张图片添加标题文字字段的方法。
任何提示?
答案 0 :(得分:1)
将方法simple_fields_for
用于嵌套资源
示例:
simple_form_for [:admin, @gallery] do |f|
f.simple_fields_for :pictures do |p|
# Here you have all simple_form methods available
p.input :caption
end
end
另外,将此行添加到Gallery
类
#this allow you to save attributes on associated records through the parent
accepts_nested_attributes_for :pictures
更新 - 在每张图片的表单中显示小拇指
image_tag(p.object.image.url(:thumb), height: '50')