2010-04-26 79 views
4

我試圖用Paperclip與我的Rails應用程序到化身添加到用戶,但在創建用戶時,它也救不了我的圖片或更新的數據庫列。回形針將不保存圖像中的Rails應用程序

這是什麼型號的樣子:

class User < ActiveRecord::Base 
    has_attached_file :avatar 

而且在HAML的registerform:

- form_for :user, @user, :url => { :action => "signup" }, :html => { :multipart => true } do |f| 
... 
... 
     %li 
     %div{:class => "header"} Profilepicture 
     %div{:class => "input"} 
      = f.file_field :avatar 

當我看日誌,這是被傳遞什麼樣的「註冊」,在動作:

Parameters: {"commit"=>"Save", "action"=>"signup", "controller"=>"user/register",  "user"=>{"name"=>"Micke Lisinge", "birthmonth"=>"07", "password_confirmation"=>"[FILTERED]", "nickname"=>"lisinge", "avatar"=>#<File:/tmp/RackMultipart20100426-3076-1x04oxy-0>, "gen"=>"m", "birthday"=>"23", "password"=>"[FILTERED]", "birthyear"=>"1992", "email"=>"[email protected]"}} 
[paperclip] Saving attachments. 

回形針說,這是保存模板,但是當我看在public文件夾在我的應用程序中創建了一個system,但system文件夾爲空。

所以看起來它是不是保存圖片的文件夾。

它得到通過的形式處理,並保存在我的/tmp文件夾中。

也許你們有任何提示或知道這個問題可能是什麼?

回答

3

我得到它的工作。

我必須在我的用戶模型中添加:avatarattr_accessible

在這裏張貼這一點,並希望它可以幫助別人的某個時候:)

謝謝你們的幫助

+0

我有同樣的問題,我試圖添加attr_accessible,但它仍然dosent保存正確,並顯示一條丟失的消息,當我嘗試加載圖片。這是非常令人沮喪的 – 2010-08-02 21:27:57

+1

嘗試設置:路徑選項。它可能有幫助 – Lisinge 2010-08-04 05:57:24

0

首先檢查,如果path是所創建連接正確。您可以使用avatar.path來確定。如果它沒有返回正確的路徑,可能有人正在覆蓋默認路徑paperclip

還要檢查,如果公共/系統是作爲正在運行的應用程序服務器的用戶可寫。

+0

以root身份運行所以它應該能夠寫 – Lisinge 2010-04-26 18:32:39

+0

當我使用'@ user.avatar.path'時,我不能將nil轉換成字符串'' – Lisinge 2010-04-26 18:34:52

+0

它幾乎總是有用的發佈完整的回溯。 – 2010-04-26 18:39:29

0

嘗試設置:路徑選項

has_attached_file :avatar, 
    :path => ':rails_root/public/system/:id.:extension' 
2

不要忘記設置:多=>在窗體的聲明屬實。這讓我咬了一兩次。

1
has_attached_file :asset, :url => "/assets/:id/:style/:basename.:extension", 
    :path => ":rails_root/public/assets/:id/:style/:basename.:extension" 

僅供參考,這段代碼實際上救了我的檔案在我的機器「/」作爲根目錄:RAILS_ROOT PARAM是失敗。這是在Rails 3.0.0.rc

相關問題