我正在构建一个支持rails的ember.js应用程序。我的主application.hbs文件中有一个“注销”链接,我想让这个链接使用:delete方法(我正在使用devise来处理身份验证)。我无法决定如何从rails路由输出链接。我已经在javascript中定义了所有 ember 路由,但是如何将删除URL添加到把手中?
= link_to 'Logout', app.destroy_user_session_path, method: :delete
我想将一些配置选项(网址等)从Rails传递到我的Ember.Application instatiation:
window.App = Ember.Application.create()
我该如何做到这一点?
答案 0 :(得分:1)
只要信息在公众手中是安全的,您就可以将这种东西作为JSON字符串弹出到元标记中。您还可以提供一个全局配置对象,可以从您需要的应用程序中的任何子范围调用该对象。例如:
<meta name="rails-config" content="<%= @rails_config %>" />
显然可以从控制器设置 @rails_config
。您可以使用JSON.parse($('meta[name="rails-config"]').attr('content'))
从jQuery获取初始化并将其存储在您的ember应用程序中。
或者,只是一个老式的全球变量:
window.GLOBAL_RAILS_SETTINGS = {
foo: '<%= Settings.foo %>',
bar: '<%= Settings.bar %>',
baz: '<%= @baz %>',
};
正如您所看到的,我还从settings.yml(或任何环境)文件中提取了一些内容。
希望有所帮助!您可以将注销网址存储为字符串,然后在手柄中使用常规锚标记或{{link-to}}
帮助程序。似乎没必要对这个用例感兴趣。
必然会有其他方法来做到这一点。我不知道是否真的有“正确”的方式,只是提醒不要暴露敏感数据。