ruby-on-rails - Rails 4 Assets 管道链接

标签 ruby-on-rails ruby-on-rails-4 asset-pipeline

在生产中使用 Assets 管道并尝试使文件夹不那么困惑时,我设置了嵌套文件夹。我正在尝试链接到子文件夹中的 pdf,但我不确定如何精确调用该文件。

<%= link_to ' | PDF', asset_path(pub.file), :target => "_blank" %>

这在开发中有效。对于生产,我需要调用 pubfiles/pub.file ,但该语法似乎缺少某些内容。

我发现它应该是这样的:
<%= link_to ' | PDF', asset_path("pubfiles/#{pub.file}"), :target => "_blank" %>

但是当我尝试使用该链接时,我出错了:

缺少模板人物/表演,应用程序/表演带有 {:locale=>[:en], :formats=>[:pdf], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}。搜索: * "/rails/neuro/app/views"
def find(*args)
  find_all(*args).first || raise(MissingTemplate.new(self, *args))
end

def find_all(path, prefixes = [], *args)

在没有文件夹参数设置的开发中,pdf 可以顺利打开。

最佳答案

使用时 asset_path , rails 将前置 /assets/到您指定为其参数的路径。

因此请确保您的子文件夹在 assets 内文件夹这样:

-public
  -assets
    -yourFolder
      -yourFile.ext

这样,您可以使用 asset_pathasset_path('yourFolder/yourFile.ext')和 rails 将在 /assets/yourFolder/yourFile.ext 提供您的文件

请注意,rails 为文件添加指纹以支持缓存。确保正确编译您的 Assets 并正确定义生产配置。

关于ruby-on-rails - Rails 4 Assets 管道链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36774347/

相关文章:

ruby-on-rails - Rails 数据库迁移失败并显示 “duplicate column name: email”

html - Rails 图片 link_to 不工作

ruby-on-rails - 查找具有大于某个关联的 x 的所有对象

ruby - 带有 Resque : enqueuing jobs with uninteded arguments 的 ActiveJob

ruby-on-rails - activeadmin 中的嵌套表单不保存更新

javascript - 为什么实际的鼠标点击不起作用,但在 JS 控制台中执行 .click() 却可以?

ruby-on-rails - 抑制 Rspec 3 的回溯

ruby-on-rails - 如何禁用回形针文件扩展名限制?

ruby-on-rails - rails 4.1 将视频文件夹添加到 Assets 管道

javascript - Rails VideoJS swf-Flash-后备 asset_path