I am trying to display the filename of a Carrierwave attachment in a Rails erb template. The following does not work:
<%= @page.form.filename %>
I have been able to get the filename via the file
internal parameter:
<%= @page.form.file.filename %>
I'm assuming you've got models like this?
class Page
mount_uploader :form, FormUploader
end
If so you should be able to call:
@page.form.url
@page.form.filename
Are you sure you've uploaded/attached the file correctly? What do you see when you inspect @page.form? Remember, the attachment will not be saved until you've fully processed the upload.
The Carrierwave docs might be a bit off, but recommended way seems to be:
@page.form.file.identifier
@adamonduty's solution is great. Another solution I used before, just create a method on the model:
def name
file.path.split("/").last
end