在Angular模板中使用Rails helper

时间:2015-01-01 03:06:59

标签: ruby-on-rails angularjs

我在AngularJS中使用Rails,我想在Angular模板中使用rails helper和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方法可以做到这一点,我也想知道。

1 个答案:

答案 0 :(得分:6)

我认为AngularJS最困难的事情之一是切换到从服务器检索到的数据的心态&#34;不是&#34;直接在服务器中提供的数据&#34;。

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

相反,请考虑如何向Rails代码添加API,以便以干净的JSON格式返回相关数据。然后写一个调用它的角度服务,比如说ArticleService.get(id),然后你的角度模板就会很简单。