2

我对 Angular 很陌生,所以我如何接近这个可能是完全错误的,但是一些关于这个方向的一般性建议将不胜感激。我正在尝试做的或多或少是使用 Angular 创建新的“喜欢”对象(类似于 facebook 的“喜欢”)。它们包含两个值,user_id(以前由 rails 通过 devise 的辅助方法设置为 current_user.id)和 post_id。

我的问题:

  • current_user 在 Angular 的 ng-controller 中不可访问
  • 您不能像这样直接在表单中提供默认输入值:

`

<input type="text" value="<%= current_user.id %>" ng-model="newLike.user_id" >

所以或多或少我要问的是,我怎样才能设法为 user_id 和 post_id 设置输入的默认值。我遇到了使用 ng-init 的建议,但是,从我所看到的一切看来,这似乎只允许从角度控制器设置默认输入值

编辑:

我花了很长时间才意识到将变量作为参数传递给 addLike,所以我成功地根据 current_user.id 和 act.id 创建了新对象。

4

1 回答 1

1

Rails方式 您可以在.html.erb(或.js.erb)中编写初始化全局/传递参数值为current_user.id的javascript代码

Angular 方式 在这里使用 ng-init 是完美的(比 rails 方式更好)。正如 Mark Rajcok 所评论的,ng-init 可以像这样从您的 HTML 中使用:

<input type="text" ng-init="newLike.user_id='<%= current_user.id %>'" ...>
于 2013-10-18T21:21:00.637 回答