在 Angular 模板中使用 Rails 助手

Using Rails helper in Angular template

我正在使用 Rails 和 AngularJS,我想在 Angular 模板中使用 rails 辅助函数和 erb-style if 语句.

我正在显示删除按钮,并希望确保只有所有者可以看到此按钮。

在普通的 erb 文件中,我会写:

<% if @article.id == current_user.id %>
  <button>Delete</button>
<% end %>

我试图将 erb 扩展名添加到我的模板文件中,但我无法使用嵌入式 ruby 语法,也无法使用助手 current_user.

我采取的另一种方法是将ng-show='owner'添加到按钮,并在Angular控制器中定义owner函数来确定当前用户是否是所有者。但这没有用,因为我无权访问 current_user.

有什么建议吗?如果有更Angular的方法,我也想知道

我认为 AngularJS 最困难的事情之一就是转变为 "data retrieved from the server" 而不是 "data available directly in the server" 的心态。

也就是说,您需要放弃可以在模板中使用任何类似 rails 的约定的想法(同样适用于 Django 或 PHP 或任何其他框架)。

相反,请考虑如何将 API 添加到 Rails 代码,returns 以干净的 JSON 格式处理相关数据。然后编写调用它的 angular 服务,例如 ArticleService.get(id),然后您的 angular 模板将很简单。