0

昨日、ペーパークリップの複数アップロードギャラリーを作成しました。今日はこれをすべてカスタマイズしたいので、クリックしてファイルアップロードフィールドをもう1つ追加するボタンを作成する必要があります。このビデオで見ることができる例:http: //www.emersonlackey.com/article/rails-paperclip-multiple-file-uploads28:27。

グーグルで検索しましたが、何も見つかりませんでした。

@postフォーム:

   <% form_for @post, :html => {:multipart => true}  do |t| %>
            <p>
                <%= t.label :title, 'Virsraksts:' %></br>
                <%= t.text_field :title %></br>
            </p>
            <p>
                <%= t.label :content, 'Teksts:' %>
                <%= t.text_area :content, :class => "mceEditor"%>
            </p>

            <p>Pievienot jaunas bildes:</p>
            <%= f.link_to_add "Add a task", :assets %>
            <%= f.fields_for :assets do |asset_fields| %>           
                <% if asset_fields.object.new_record? %>
                    <%= asset_fields.file_field :asset %>
                    <%= asset_fields.link_to_remove "Noņemt" %>
                <% end %>
            <% end %>

            <p>
                <%= f.fields_for :assets do |asset_fields| %>
                    <% unless asset_fields.object.new_record? %>
                    <p>
                        <%= link_to image_tag(asset_fields.object.asset.url(:thumb)), asset_fields.object.asset.url(:original) %>
                        <%= asset_fields.check_box :_destroy %>
                    </p>
                    <% end %>
                <% end %>
            </p>    
        <%= t.submit %>

@postモデル:

class Post < ActiveRecord::Base
  attr_accessible :title, :content, :assets_attributes
    has_many :assets
    accepts_nested_attributes_for :assets, :allow_destroy => true 
end

@assetモデル:

class Asset < ActiveRecord::Base
  belongs_to :post
  has_attached_file :asset, :styles => { :large => "640x480", :medium => "300x300>", :thumb => "100x100>" },
                        :url => "/assets/albums/:id/:style/:basename.:extension",
                        :path => ":rails_root/public/assets/albums/:id/:style/:basename.:extension"
  accepts_nested_attributes_for :post, :allow_destroy => true 
end
4

2 に答える 2

2

ここにネストされたフォームについてのR.Batesからの素晴らしいキャストがあります。写真の追加、削除、ペーパークリップの操作ができるように変更しました。このrails3.2アプリのクローンを作成してくださいhttps://github.com/Saidbek/multiple-image-uploader

于 2012-04-29T11:05:59.377 に答える
1

関数を機能させるには、JavaScriptが必要になります。

Railscastsプレミアムユーザーの場合は、Saidが推奨するように上記のリンクにアクセスできますが、そうでない場合は、このリンクを確認する必要があります。

于 2012-04-29T15:13:49.600 に答える