ruby-on-rails – 具有骨干轨的Rails:资源助手(image_path)在EJ
发布时间:2020-12-16 20:01:12 所属栏目:百科 来源:网络整理
导读:我有一个使用 codebrew/backbone-rails的Rails 3.1应用程序.在.jst.ejs模板中,我想包括一个图像,像这样: img src="%= image_path("foo.png") %"/ 但是,资源帮助者当然不可用JavaScript. 链接ERB(.jst.ejs.erb)不起作用,因为EJS语法与ERB冲突. 这是我所知道
我有一个使用
codebrew/backbone-rails的Rails 3.1应用程序.在.jst.ejs模板中,我想包括一个图像,像这样:
<img src="<%= image_path("foo.png") %>"/> 但是,资源帮助者当然不可用JavaScript. 链接ERB(.jst.ejs.erb)不起作用,因为EJS语法与ERB冲突. 这是我所知道的: >资产助手在浏览器中不可用,所以我需要在服务器端运行它们. 有没有办法在EJS文件中使用资产助手? 解决方法
实际上,有一种方法来链接.jst.ejs.erb文件,尽管它是相当无证的,我只是通过查看EJS测试用例来找到它.您可以告诉EJS使用{{}}(或[%%]或任何您想要的)而不是<%%>,然后ERB将不会尝试评估您的EJS调用.
确保在你的代码中需要EJS(我刚刚在我的Gemfile中包含gem’ejs’),然后创建一个初始化器(我称之为ejs.rb),包括以下内容: EJS.evaluation_pattern = /{{([sS]+?)}}/ EJS.interpolation_pattern = /{{=([sS]+?)}}/ 然后,请确保将您的模板重命名为.jst.ejs.erb,并替换现有的<%%>使用{{}}的EJS解释代码.如果要使用除{{}}之外的其他东西,请更改初始化程序中的正则表达式. 我希望在Sprockets中有一个选项来通过配置来处理这个,而不是明确地包含EJS,但是到目前为止,我无法做到这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |