このガイドに従って、パブリック(デフォルト)ではなく、サーバー上の安全なディレクトリにファイルをアップロードする方法を学びました。ショーにアクセスしてリンクを表示しようとすると、次のようになります。
undefined method `redocument' for #<ActionView::Helpers::FormBuilder:0xa2ae338>
near: <%= link_to File.basename(f.redocument.url), "/uploads/#{f.id}/#{File.basename(f.redocument.url)}" %>
リンクのレンダリングに問題があります。ここで何か不足していますか?このコードを 1 行ずつコピーしてはいけませんか? 「redocument」を置き換えるかどうかは指定されていませんが、モデル名は Entry で、ファイルのリンクが保存されている文字列は mv_link です。誰が修正が何であるか知っていますか?
更新:うまくいけば正しい方向に
「f.redocument」のすべてのケースを「@entry.mv_link」に変更しました。現在、ショーページにリンクがあります。しかし、それをクリックしてダウンロードしようとすると、コントローラーで指定されたパスが壊れています。コントローラーはこれでした
def download
path = "/#{redocument.redocument}"
send_file path, :x_sendfile=>true
end
このパスを何に変更すればよいですか?