(Я новичок в PAPERCLIP)Paperclip не хранит файл на моем унаследованной модели
У меня есть эта модель иерархии:
базовая модель:
class QuestDescription < ActiveRecord::Base
end
унаследовал модель:
class ImageDescription < QuestDescription
has_attached_file :img
end
и я использую одностоечное наследование от ActiveRecord
[часть] schema.rb:
create_table "quest_descriptions", :force => true do |t|
t.string "type"
t.datetime "img_updated_at"
t.integer "img_file_size"
t.string "img_file_name"
t.string "img_content_type"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
ImageDescription Контроллер:
class ImageDescriptionsController < ApplicationController
def new
@imgD = ImageDescription.new
end
def create
@imgD=ImageDescription.new(params[:imgD])
if @imgD.save
redirect_to :back, :flash => {:notice => "saved"}
else
redirect_to :back, :flash => {:error => "error"}
end
end
def show
@imgD=ImageDescription.find(params[:id])
end
end
новый вид (с использованием formtastic):
<%= semantic_form_for @imgD do |form| %>
<%= form.input :img%>
<%= form.actions %>
<%end%>
показать вид:
<%= image_tag @imgD.img.url %>
, когда я использую новое представление (и выбираю файл для загрузки), POST работает, но файл не сохраняется/не прикрепляется, «img_file_size», «img_file_name», «img_content_type» установлены на nil.
Если я попытаюсь показать его, результатом будет поле «отсутствует».
EDIT:
если я пытаюсь создать ImageDscription из консоли, она работает:
ImageDescription.create(:img => File.new(Rails.root + "public/images/grid.png"))
(0.1ms) begin transaction
SQL (31.9ms) INSERT INTO "quest_descriptions" ("created_at", "img_content_type", "img_file_name", "img_file_size", "img_updated_at", "type", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) ["created_at", Wed, 15 Feb 2012 00:07:48 UTC +00:00], ["img_content_type", "image/png"], ["img_file_name", "grid.png"], ["img_file_size", 206], ["img_updated_at", Wed, 15 Feb 2012 00:07:48 UTC +00:00], ["type", "ImageDescription"], ["updated_at", Wed, 15 Feb 2012 00:07:48 UTC +00:00] commit transaction
=> #
спасибо за ответ, но ничего не изменилось: ENCTYPE = «многочастному/форм-данных» уже в HTML формы (я где-то читал, что это срабатывает само с рельсов 3.1) – qwertoyo