我正在制作一个 ruby gem(具有标准目录结构,例如 lib/mygem)......在那个 gem 中,我有一个方法调用应该打开一个 css 文件(来自 gem 中的 lib/vendor/assets/css目录结构)。并将css输出到视图文件。mygem.rb 看起来像:
require "mygem/version"
module MyGem
class Engine < Rails::Engine #cause rails to add its directories to the load path when the gem is required.
end
def mygem_div_tag(div_id, options={})
options = {:css_template=>"example1"}.merge(options)
file_str = IO.read("../vendor/assets/css/"+options[:css_template]+".css")
div_str = %Q{
<style type="text/css">
#{file_str}
</style> }
end
因此,在视图中,我会有以下内容:
<%= mygem_div_tag %>
我得到一个错误:没有这样的文件或目录 - ../vendor/assets/css/example1.css
如何输出“example1.css”文件中的 CSS?