我跟着this guide了解如何将文件上传到我的服务器上的安全目录,而不是公共(默认)。当我尝试去展会查看链接时,我得到:安全目录文件上传与Carrierwave失败(制作)
undefined method `redocument' for #<ActionView::Helpers::FormBuilder:0xa2ae338>
near: <%= link_to File.basename(f.redocument.url), "/uploads/#{f.id}/#{File.basename(f.redocument.url)}" %>
它无法呈现链接。我在这里错过了什么吗?我不应该一行一行地复制这段代码吗?他们没有指定我是否应该替换'redocument',但是我的模型名称是Entry,并且文件链接存储的字符串是mv_link。任何人有任何想法是什么修复?
更新:希望在正确的方向
我改变“f.redocument”的所有案件“@ entry.mv_link”。现在在展示页面上,链接就在那里。但是,当我点击它并尝试下载时,由控制器指定的路径已损坏。这是什么控制器是
def download
path = "/#{redocument.redocument}"
send_file path, :x_sendfile=>true
end
我应该改变这个路径?
这是一个表单,而f是表单对象?如果是这样,请尝试'f.object.redocument.url' – 2012-07-11 21:54:48
其实这是在视图中......与指南最后一行所做的相同。 – MoB 2012-07-11 22:01:29
该错误表明它在表单中,并且f是表单生成器对象。你是积极的,你不是在一种形式?什么是“f”变量? – 2012-07-11 22:04:16