簡體   English   中英

Paperclip不會在Rails應用程序中保存圖像

[英]Paperclip won't save image in Rails app

我正在嘗試使用Paperclip和我的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"=>"lisinge@gmail.coma"}}
[paperclip] Saving attachments.

Paperclip說它正在保存模板,但是當我查看我的應用程序中的public文件夾時,它創建了一個systemsystem文件夾是空的。

所以似乎沒有將圖片保存到文件夾中。

它由表單處理並保存在我的/tmp文件夾中。

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

我得到了它的工作。

我不得不在我的用戶模型中添加:avatar attr_accessibleattr_accessible

在這里發布,並希望它有時幫助某人:)

謝謝大家幫助

不要忘記在表單聲明中設置:multipart => true。 這咬了我一兩次。

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上

如果path對於創建的附件是正確的,請首先檢查。 您可以使用avatar.path來確定。 如果它沒有返回正確的路徑,可能有人會覆蓋默認的paperclip路徑?

如果公共/系統可由運行應用程序服務器的用戶寫入,請檢查。

嘗試設置:path選項

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM