ruby-on-rails – Rails 4 Asset Pipeline链接

在生产中使用资产管道并尝试保持文件夹不那么混乱时,我已经设置了嵌套文件夹.我试图链接到子文件夹中的pdf,但我不确定如何精确调用文件.

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

这在开发中有效.对于生产,我需要调用pubfiles / pub.file,但是这种语法似乎缺少了一些东西.

我发现它应该是这样的:

<%= link_to ' | PDF',asset_path("pubfiles/#{pub.file}"),:target => "_blank" %>

但是,当我尝试使用链接时,我错误地用:

缺少模板people / show,application / show with {: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 /前置到您指定为其参数的路径.

因此,请确保您的子文件夹位于资源文件夹中:

-public
  -assets
    -yourFolder
      -yourFile.ext

这样,您可以将asset_path用作asset_path(‘yourFolder / yourFile.ext’),rails将在/assets/yourFolder/yourFile.ext中提供您的文件

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...