4

检查单页应用程序(backbone.js)能力的正确方法是什么?

例如,如果它是一个非单页应用程序,我可以在模板上写

<% if can :read? @resource %>
  <%= link_to @resource %>
<% end %>

@resource但我的问题是,当我渲染客户端模板时,我还没有加载。

4

1 回答 1

4

通常,访问控制将在客户端和服务器上执行。在服务器上,您可以authorize!照常在控制器中使用。在客户端上,cancan 不可用。

可能的解决方案:

  1. can?在可用的服务器上渲染视图片段。我认为这种方法对骨干没有多大意义。
  2. 为“cancan 查询”公开一个 API
  3. 在客户端复制你的能力对象

我倾向于公开 API,但如果网络成为性能问题,我猜你将不得不在客户端复制你的能力对象。

这似乎是客户端应用程序如何更有效的一个很好的例子!

于 2013-06-02T18:22:44.023 回答