我想使用rails helper方法,例如我想使用form_for
或root_url
或设计sign_in?
,我该怎么做?
答案 0 :(得分:3)
在Ember应用程序中使用Rails帮助程序并不是真正可行的。您可以通过动态生成JS服务器端来实现创造性,但这不是我认为最佳实践的方式。
我可以想象将一些Rails路由导出为应用程序可以使用的JS是有用的。
答案 1 :(得分:2)
简短的回答是,你不能,至少不是“开箱即用”。
更长的答案是...... Rails和Ember之间的这种紧密耦合最终会对两个框架都有害,如果它默认包含在内......你将被迫使用Ember和Rails,而且反之亦然。就目前而言,Ember对您的服务器后端非常不可知,只要它返回正确的JSON响应Ember不关心它是Ruby(通常是Rails还是Sinatra),PHP,Node.js甚至是静态.json文件。这为您在构建应用程序时提供了很大的灵活性,但它也使得无法假设Rails路由器(或Rails form_for帮助程序)之类的内容应该存在。
如果你想要一个像form_for帮助器这样的东西,最好的办法就是把它写成Handlebars助手或者(在我看来更好的选择)一个自定义的View类和一些Handlebars助手来给你最多的东西Rails路由助手给你。
对于路由助手,您需要找到一种自动方式将您的实际Rails路由导出到Javascript,然后从那里开始。为了一个好的起点,请查看此问题