Google自訂搜尋

直接貼Code好不好? 噗!

Controller:

def uploading
    files = []
    for i in 1..session[:files].to_i
      next if  params[:gallery]["file_#{i}".to_sym].to_s.blank?
      files << Gallery.create(:file => params[:gallery]["file_#{i}".to_sym]).id.to_s
    end
    redirect_to :action => "images", :files => files.join("_")
  end
 
  def new_upload_field
    session[:files]+=1
    render :update do |page|
      page.insert_html :after, "file_fields", file_column_field("gallery", "file_#{session[:files]}") + "<br />"
    end
  end

 

View:

<%= javascript_include_tag :defaults %>
<% form_for(Gallery.new, :url => {:action => "uploading"}, :html => {:multipart => true}) do |f| -%>
    <div id="file_fields">
        <%= file_column_field("gallery", "file_#{session[:files]}")%><%= link_to_remote("Add new", :url => {:action => "new_upload_field"}) %>
    </div>
  <%= f.submit("Upload") %>
<% end %>

 

解說:

用RJS產生上傳欄位,然後每次新增一個都更新一次檔案數目

接著跑迴圈儲存物件就好了

創作者介紹

卐只有兩面的盒子卍

hechian 發表在 痞客邦 PIXNET 留言(2) 人氣()


留言列表 (2)

發表留言
  • JellyCatz果凍喵
  • :P

    Rails可以很神奇的接收一個field的array...

    like field的名稱為file[x],x為array index時,就可以得到file[]這東西哩

    不過這是過去測Rails 1.2.6時可用,目前2.2.2.....最近再測測看吧
  • 我知道這個
    只是我一直測不出來,只好這樣寫了:(

    hechian 於 2008/12/09 09:00 回覆

  • ir75v2p
  • ﹉goo‧☆gl/bS1uS9
找更多相關文章與討論