1

このアップロード ファイルの例を使用しています。

そして、添付ファイルの :url を変更しようとしています。何とか機能しません。ターミナルで次のエラーが表示されます。

NoMethodError (undefined method `upload_file_size' for #<Paperclip::Attachment:0x8ca35e8>):

私のupload.rb:

class Upload < ActiveRecord::Base
  attr_accessible :upload, :upload_file_name, :upload_file_size

Paperclip::interpolates :upload_file_size do |attachment, style|
  attachment.instance.upload_file_size
end
  has_attached_file :upload,

                    :url =>"/system/Files/CEL-Files/:upload_file_size/:basename.:extension",
                    :path =>":rails_root/public/system/Files/CEL-Files/:piks/:basename.:extension"

  include Rails.application.routes.url_helpers

そして、これは私のschema.rbです:

ActiveRecord::Schema.define(:version => 20120731045929) do

  create_table "uploads", :force => true do |t|
    t.string   "upload_file_name"
    t.string   "upload_content_type"
    t.string   "user"
    t.integer  "upload_file_size"
    t.datetime "upload_updated_at"
    t.datetime "created_at",          :null => false
    t.datetime "updated_at",          :null => false
  end

end

前もって感謝します

4

1 に答える 1

1

Paperclip 補間で使用しているシンボル/文字列は、モデル属性「upload_file_size」と競合しています。Paperclip 補間のカスタム名を「upload_file_size」から別の名前に変更してみてください。以下のように:

Paperclip::interpolates :size_of_file do |attachment, style|
  attachment.instance.upload_file_size
end
于 2012-11-18T14:41:46.800 に答える