在 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 模板将很简单。
我正在使用 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 模板将很简单。