【发布时间】:2011-11-28 18:58:09
【问题描述】:
我在后台使用带有 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 错误
列“logo_file_size”不能为空
编辑:当我添加 attr_accessible 时解决了 mysql 错误。我只是允许 logo_file_size 为空。但是id=0的问题依然存在……
我的代码:
型号:
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
我的数据库在文章表中有这 4 列: logo_file_name logo_content_type logo_file_size logo_updated_at
我正在使用 rails 3.1.1、formtastic 1.2.4、回形针 2.4.5
非常感谢您的帮助!!!
【问题讨论】:
-
我的文件似乎按照我的意愿上传为 PNG,但在数据库表中保留了原始文件。这就是新记录和现有记录的问题。对我来说,似乎我错过了一些告诉徽标它与哪个记录相关联的东西......
标签: ruby-on-rails-3 paperclip formtastic