Simple_form,编辑多个关联项

时间:2014-02-06 09:31:39

标签: ruby-on-rails

我正在尝试以单一形式编辑多个关联。我使用简单的形式,我的关联很简单:

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')

但我找不到为图库的每张图片添加标题文字字段的方法。

任何提示?

1 个答案:

答案 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')