2014-02-06 40 views
0

我試圖在單個窗體中編輯多個關聯。我使用的是簡單的表格,我協會很簡單:Simple_form,編輯多個關聯項目

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

嵌套資源

使用方法 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') 
+0

我試着用你的解決方案,它的工作原理,除了我現在找不到一種方法來顯示每個文本區域輸入附近的對象(如此小的拇指)。 –

+0

您可以使用'p.object'訪問表單中的圖片對象。 – Zoki