Tag: handlebars.js

通过Rails将对象作为变量发送到Mandrill

我正在将一个电子邮件模板从Rails转换为Mandrill,其内容需要相当数量的数据,其中一些数据通过多个关联嵌套。 因此,我想通过Mandrill的global_merge_vars传递对象,例如(简化)以下: [{ ‘name’=>’order’, ‘content’=> @order.to_json(include: { user: { only: :first_name } }, methods: [:method1, :method2, :method3, :method4]) }] 它通过orderr变量下的mandrill模板,类似于以下内容: {“id”:11,”number”:”xxxx”,”item_total”:”112.0″… “user”:{“first_name”:”Steve”},”method1″:”£0.00″,”method2″:”£112.00″, “method3″:”£112.00″,”method4″:”£0.00”} 问题是,我无法访问order任何内容(使用Handlebars),即{{order.id}} , {{order[‘id’]}}等不会工作。 将数据分解为大量变量不是一种选择,因为一些元素是集合及其关联。 我相信问题就出现了,因为在为Mandrill编译变量时所有内容都是字符串化的 – 因此打破了JSON对象 – 下面是一段发送的内容: “global_merge_vars”=>[{“name”=>”order”, “content”=>”{\”id\”:11, \”number\”:\”xxxx\”,\”item_total\”:\”112.0\”… 我似乎无法找到任何处理这个的文档/建议,所以我想知道是否可以传递这种性质的数据,如果是这样,如何正确传递它以便能够访问Mandrill中的对象模板。 任何建议非常感谢! 史蒂夫。

允许客户编辑Handlebar.js模板的安全性如何

我正在构建的Rails应用程序需要允许用户编辑页面模板。 主要关注的是允许客户编辑模板的安全性。 因此,将erb模板排除在等式之外。 我看过液体标记和Handlebars.js。 这里的把手有一个很好的Rails集成https://github.com/jamesarosen/handlebars-rails 。 我更愿意使用车把。 有人可以确认让客户编辑车把模板是否安全?

使用把手迭代javascript对象

我正在尝试使用Handlebars注册帮助程序以允许迭代JSON对象。 这个要点看起来是一个合适的解决方案。 我将其转换为以下CoffeeScript。 当我使用任何一个帮助程序时,似乎没有任何事情发生(对于vanilla JavaScript和CoffeeScript版本都适用)。 有任何想法吗? $ -> Handlebars.registerHelper “key_value”, (obj, fn)-> buffer = “” key for key in obj if obj.hasOwnProperty(key) buffer += fn({key: key, value: obj[key]}) buffer Handlebars.registerHelper “each_with_key”, (obj, fn)-> context buffer = “” key keyName = fn.hash.key for key in obj if obj.hasOwnProperty(key) context = obj[key] if keyName context[keyName] = key […]

如何使用ember-rails gem为HandlebarsJS模板指定备用目录?

我有一个Rails应用程序,我在前端使用Ember。 我想将与ember相关的文件在目录结构中向下移动一级,但是当我这样做时,模板不再渲染。 在普通的,vanilla,应用程序的工作版本中,我的目录结构是: ./app/ assets/ javascripts application.js ember-app.js routes.js store.js models/ controllers/ routes/ templates/ views/ with:application.js //= require jquery //= require jquery_ujs //= require handlebars //= require ember //= require ember-data //= require_self //= require ember-app App = Ember.Application.create(); 和:ember-app.js //= require ./store //= require_tree ./models //= require_tree ./controllers //= require_tree ./views //= require_tree ./helpers […]

如何在Rails资产管道中确定给定资产的MD5摘要?

我正在Ruby on Rails 3.1项目中编写一个富含Javascript的应用程序,并使用Handlebars作为我的JS模板框架。 我正试图找出一种方法来动态地将资产的MD5摘要(在生产中的资产预编译期间生成)附加到我的Handlebars模板内的标签。 我希望有一个哈希,资产路径作为密钥,MD5摘要作为值,但我找不到。 一个理想的解决方案是将Ruby中的哈希值传递给Javascript,并定义一个Handlebars帮助程序,它将自动将MD5摘要附加​​到资产的“src”属性。 有没有人试图做类似的事情? 必须有一种方法可以在Rails中使用Javascript模板,并且还可以获得资产指纹识别的好处。

设置rake-pipeline以与Google App Engine一起使用

所以这就是我正在尝试做的事情。 我正在构建一个ember.js应用程序,在GAE上运行java后端。 我正在使用把手,但我希望它们分成单独的文件,而不是全部粘贴到index.html中。 通过ember.js irc,我和minispade一起打开了rake-pipeline 随着Webfilter和自定义手柄filter,我开始构建资产文件。 我不知道Ruby,或者gem文件等。 因此,我试图找出能够动态编译我的coffeescript / handlebars文件的最佳方法,minispade它们,但在开发模式下保持各个文件可访问,以便我可以调试它们。 令人困难的是,rake管道运行在与GAE不同的端口上。 所以我不确定如何处理这个问题。 在开发期间,我是否将GAE中的索引文件指向9292端口(rakep)中的单个文件,但是在生产模式下是否指向完全连接的版本? 我不确定。 所以我试图在这里做到这一点: https : //gist.github.com/1495740只有一个由’build’标志触发的部分。 甚至不确定这是否有效。 我知道这里有很多混乱。 道歉,就像我说的那样,我甚至不熟悉Ruby的做事方式。