我喜歡瑞恩貝茨Nested_Form寶石,因爲我很懶。但我會做到這一點
<%= semantic_nested_form_for @user, :html => {:multipart => true} do |f| %>
<%= f.fields_for :photo %>
<p><%= f.link_to_add "Add Photo", :photo %></p>
<div class="actions">
<%= f.submit :class => "btn-success" %>
</div>
<% end %>
然後局部
<div class="clearfix">
<%= f.file_field :image %>
</div>
在問候您的留言_photo.erb:
我認爲這是你在找什麼,我是做你在這裏(基於Railscast carrierwave插曲):
https://github.com/rbirnie/image-upload
基本來源:
圖庫型號
class Gallery < ActiveRecord::Base
attr_accessible :name, :paintings_attributes
has_many :paintings
accepts_nested_attributes_for :paintings
end
繪畫模式:
class Painting < ActiveRecord::Base
attr_accessible :gallery_id, :name, :image, :remote_image_url
belongs_to :gallery
mount_uploader :image, ImageUploader
end
畫廊編輯
<%= nested_form_for @gallery, :html => {:multipart => true} do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<%= f.fields_for :paintings do |photo_form| %>
<%= photo_form.label :name %>
<%= photo_form.text_field :name %>
<%= photo_form.file_field :image %>
<%= photo_form.link_to_remove "Remove this photo" %>
<% end %>
<p><%= f.link_to_add "Add a photo", :paintings %></p>
<p><%= f.submit %></p>
<% end %>
〜
我不確定這是我在找什麼..我正在玩弄它一點點,無法讓它工作。基本上,我想對兩種不同的模型執行兩種不同的操作:我想更新has_many照片的用戶模型,並且我想創建兩個新的照片對象。在使用您的代碼時,我正在更新用戶和現有照片,而不是創建新的Photo.rb對象 – kcurtin 2012-02-16 11:42:32