В настоящее время я использую скрепку для загрузки изображений предметов на мой сайт. Я настроил скрепку точно так же, как https://github.com/thoughtbot/paperclip.. Я загрузил фотографии на свой сайт, но затем в базу данных ничего не сохраняется. В моей общедоступной папке также есть изображения.
в моем конфиге,
Paperclip.options[:command_path] = "/opt/local/bin/"
В моем item.rb
class Item < ActiveRecord::Base
attr_accessible :photo_file_name, :photo_content_type, :photo_file_size,
:photo_updated_at
has_attached_file :photo
end
class AddPhotoColumnToItem < ActiveRecord::Migration
def self.up
add_column :items, :photo_file_name, :string
add_column :items, :photo_content_type, :string
add_column :items, :photo_file_size, :integer
add_column :items, :photo_updated_at, :datetime
end
...
end
товар / _form.html.erb:
<%= form_for @item, :html => { :multipart => true } do |f| %>
<%= f.error_messages %>
<p>
<%= f.file_field :photo %>
</p>
<p><%= f.submit %></p>
<% end %>
и, наконец, items_controller.rb (я использую cancan)
class ItemsController < ApplicationController
load_and_authorize_resource
def edit
end
def update
if @item.update_attributes(params[:item])
redirect_to @item, :notice => "Successfully updated item."
else
render :action => 'edit'
end
end
end
Я проверил с помощью firebug, что изображение действительно загружено. Я даже помещаю параметры, и я получил это:
Parameters: {"utf8"=>"✓", authenticity_token"=>"XB0ptrmoxqRIakUB4YCBmbpYm2Pjex8KNm9g0pscpgo=",
"item"=>{"photo"=>#<ActionDispatch::Http::UploadedFile:0x007f9c5460ef80 @original_filename="lindsay-lohan.jpg",
@content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"item[photo]\"; filename=\"lindsay-lohan-boobs.jpg\"\r\nContent-Type: image/jpeg\r\n", @tempfile=#<File:/var/folders/14/gbn6ww_d1fs0lrcw22w50xdr0000gn/T/RackMultipart20110909-26576-auv9vl>>}, "commit"=>"Update Item", "id"=>"1"}
Кто-нибудь знает, почему это не работает?