2010-04-30 63 views
0

我有一个应用程序,允许用户上传文件到Scribd。我试图在Rails中使用scribd_fu。控制器尝试保存模型时发生错误。scribd_fu gsub错误

NoMethodError in DocumentsController#processupload 

private method `gsub' called for nil:NilClass 

这里是相关的控制器

def processupload 

@document = Document.new(params[:document]) 
if @document.save 
    session[:scribdid] = @document.ipaper_access_key 
else 
    xxxxx 

,这是相关的HTML表单

<form action="/documents/processupload" enctype="multipart/form-data" method="post"> 
<input name="authenticity_token" type="hidden" value="FqTCmlGGIvRjiaiaa+YtF50wgI7FfpxfrZsulLCbXcw=" /> 
<label class="label_h2">Upload a Document</label> 
<input id="document_document_upload" name="document[document_upload]" size="30" type="file" /></div> 
<div class="buttons"><button type="submit" class="positive"><img src="/images/icons/tick.png" alt="Save Document"/>Save Document</button> 
</form> 

这有什么错?

+0

请问您可以粘贴您的文档模型代码。 – Salil 2010-04-30 07:19:53

+0

类文档<的ActiveRecord :: Base的 has_ipaper_and_uses“回形针” 结束 这一切,如果我注释掉该行,一切都会好起来.... – 2010-04-30 07:56:53

+0

你能张贴异常痕迹? scribd_fu宝石中的某些东西应该抛出一个错误,因此定位该行将会告诉你很多你错过的东西。 – jerhinesmith 2010-04-30 14:17:57

回答

1

我会确保您试图上传的文档的mimetype由ScribdFu支持。这通常是导致错误的最大原因。 (我写了ScribdFu :))

+0

嗨马特, 感谢您的答案。但是我正在上传PDF文件,该文件应该由scribd支持。是否有任何其他方法来追踪错误? – 2010-05-03 04:50:39

+0

谢谢马特。马特最终帮我找到了问题,我错过了数据库的回形针设置。 http://github.com/thoughtbot/paperclip – 2010-05-03 17:04:11