rails 3,paperclip在上传图片时指定id 0

时间:2011-11-28 18:58:09

标签: ruby-on-rails-3 paperclip formtastic

我使用带有formtastic的rails用于我的管理员后端。我希望能够将图像上传到我的记录集,并尝试使用回形针。

当我编辑记录集时,图像的上传工作正常。当我尝试创建一个新的记录集时,回形针似乎在我的上传路径中为该图像分配了ID 0!

#expected path for new image:
/public/logos/2342/some_image.png


#and thats what i get when i create my new record-set:
/public/logos/0/some_image.png

我试图将attr_accessible添加到我的模型

attr_accessible :logo_file_name, :logo_content_type, :logo_file_size, :logo_updated_at

但是这会引发一个sql-error

列'logo_file_size'不能为空

编辑:当我添加attr_accessible时解决了mysql错误。我只是允许logo_file_size为null。但是id = 0问题仍然存在......

我的代码:

MODEL:

has_attached_file :logo, 
              :url => "/:class/:attachment/:id/:basename.:extension", 
              :styles => { :original => ["150x150>", :png] }

查看:

<%= f.inputs do %>
    <%= f.input :name %>
    <%= f.input :logo, :as => :file %>
    <%= f.input :link, :as => :url %>
    <%= f.input :published, :published => 'Veröffentlicht' %>
<% end %>

控制器:

def create
  Article.create(params[:article])
end

我的数据库在Article-Table中有这4个列:     logo_file_name     logo_content_type     logo_file_size     logo_updated_at

iam使用rails 3.1.1,formtastic 1.2.4,paperclip 2.4.5

非常感谢你的帮助!!!

1 个答案:

答案 0 :(得分:-1)

我知道它有点晚了,但我发现了问题,并会为每个遇到同样问题的人分享答案。

问题是mysql,升级到mysql2 gem,一切都按预期工作