我是回形针宝石的n00b,所以请原谅我,但我花了两个小时的时间没有进展(我已经看过轨道广播了):
我的Rails应用程序有一个带回形针附件的模型:
class Foo::Bar < ActiveRecord::Base
attr_protected :id
has_attached_file :mydocument
end
每当我尝试为此附件提交带有空白文件字段的表单时,我都会收到以下错误:
Paperclip::AdapterRegistry::NoHandlerError: No handler found for ""
我该怎么办? (我在我的环境文件中安装了ImageMagick并指定了Paperclip.options[:command_path] = 'C:\Program Files\ImageMagick-6.8.4-Q16'
,而不是我认为在这种情况下应该有所不同。)
我已经卸载并重新安装了回形针。我重新启动了电脑。我在同事的计算机上运行了应用程序,没有得到错误。但是在我的机器上,我仍然得到错误。
答案 0 :(得分:4)
阅读Paperclip源后,看起来您在呼叫追踪中遇到错误:
Foo::Bar.mydocument = document
# calls
Foo::Bar.attachment_for(:mydocument).assign(document)
# calls
file = Paperclip.io_adapters.for(document)
# calls
handler_for(document).new(document)
看起来handler_for
调用失败了,因为target是一个空字符串或类似于空字符串。
在控制器中,尝试打印params
对象以查看params[:foo_bar][:mydocument]
中的内容。这可能会使您更接近根本问题。可能出现问题的可能包括
form_tag
或form_for
(尝试:html => {:multipart => true}
)。