4
我在香蕉模型和圖像模型之間有一對多關聯。有多個圖像的嵌套回形針形式
此外,每個香蕉和圖像屬於一個用戶(通過一個單獨的關聯,因爲圖像和它的香蕉可能有不同的用戶)。
我想要一個嵌套的窗體來創建香蕉以及圖像。踢球者是我不知道要構建多少圖片(注意多個屬性)。以下表單的註釋掉位將創建適量的圖像,但不會完成關聯的用戶參考。 有沒有辦法做到這一點與fields_for(所以協會完成),因爲我試圖?
香蕉MODEL
class Banana < ActiveRecord::Base
belongs_to :user
validates_presence_of :user
has_many :images, dependent: :destroy
accepts_nested_attributes_for :images
validates_associated :images
end
圖像模型
class Image < ActiveRecord::Base
belongs_to :user
validates_presence_of :user
belongs_to :banana
validates_presence_of :banana
has_attached_file :img
end
FORM
<%= form_for @banana, :validate => true, :html => { :multipart => true } do |f| %>
<!-- <input type="file" name="banana[images_attributes][][img]" multiple />-->
<%= f.fields_for 'images_attributes[]', @banana.images do |builder| %>
<%= builder.file_field :img, multiple: true %>
<% end %>
<% end %>
控制器
class BananasController < ApplicationController
def create
@banana = current_user.bananas.build(banana_params)
render :new unless @banana.save
end
def new
@banana = Banana.new
end
private
def banana_params
params.required(:banana).permit(images_attributes: [:img])
end
end