我试图在Rails erb模板中显示Carrierwave附件的文件名.以下情况不起作用:

<%= @page.form.filename %>

这似乎符合the documentation.是否需要额外的步骤?

我的页面模型如下所示:

class Page < ActiveRecord::Base

  mount_uploader :form, FormUploader

end

表单上传程序如下所示:

class FormUploader < CarrierWave::Uploader::Base

  storage :file

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  def extension_white_list
    %w(pdf)
  end

end

推荐答案

您正在查看的文档是经过消毒的文件,它用于实际存储文件.你要找的部分是FormUploader,它是一个Uploader,是http://rubydoc.info/gems/carrierwave/0.5.2/CarrierWave/Uploader的一部分

如果想要获取文件名,可以直接从数据库列中读取,也可以使用File.basename(@page.form.path)轻松提取.

Ruby-on-rails相关问答推荐

在ransackable_scopes中的作用域上创建activeadmin过滤器

将两个日期之间的差值转换为Ruby中的iso8601持续时间(如果需要,还可以使用Rails)

将参数传递给视图中的嵌入操作时遇到问题

根据表单内的 Select 字段值渲染部分内容

Ruby on Rails 更新触发了 Mailer 函数中的 ArgumentError

如何使用 Rails 3 / Rack 在没有 www 的情况下重定向?

2个空格或1个制表符,Rails社区的缩进标准是什么?

有没有办法在 Rails 3.1 中检测用户代理

rails 3.2 迁移无法在更改方法中向 create_table 添加索引

Rails 上的 build 和 new 有什么区别?

$redis 全局变量与 ruby​​ on rails

是否可以在 Rails 集成测试或规范中指定用户代理?

从 Rails 模型内部访问翻译文件 (i18n)

如何解决弃用警告方法 to_hash 已弃用并将在 Rails 5.1 中删除

如何在Ruby 中对数字进行上限和舍入

在 factory_girl 中填充与 children 的关联

如何检测导致 Rake 中的弃用警告的原因

您如何访问设计控制器?

Ruby on Rails 3:通过 Rails 将数据流式传输到客户端

将新管理员添加到活动管理员