我正在尝试编写一个 Rails 应用程序,用户可以在其中上传图像,但 Paperclip 似乎对我不起作用。
我已经完成了所有基本步骤(添加了 has_attached_file、迁移、制作多部分表单),但是每当我尝试上传图像时,我都会遇到同样的错误:
无法将 nil 转换为 Integer
查看栈顶
...rails3/lib/paperclip/processor.rb:46:in `sprintf'
...rails3/lib/paperclip/processor.rb:46:in `make_tmpname'
.../ruby-1.9.2-head/lib/ruby/1.9.1/tmpdir.rb:154:in `create'
.../ruby-1.9.2-head/lib/ruby/1.9.1/tempfile.rb:134:in `initialize'
似乎问题出在临时文件中。
我的代码:
_form.rb
<%= form_for @high_school, :html => {:multipart => true} do |f| %>
<%= f.error_messages %>
...
<div class="field">
<%= f.file_field :photo %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
模型/high_school.rb
...
validates_length_of :password, :minimum => 4, :allow_blank => true
has_attached_file :photo
has_many :students
...
这是一个已知问题吗?我基本上是按照 github 到信中的说明进行操作的。
我的环境:Rails3 和 Ruby 1.9.2dev
谢谢!