我跟着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