使用从Rails传递的隐藏字段值创建对象

时间:2013-02-27 22:14:39

标签: ruby-on-rails angularjs

我对Angular很新,所以我接近这个可能是完全错误的,但是对于这个方向采取的一些一般性建议将非常感激。或多或少我正在尝试做的是使用Angular创建新的“Like”对象(类似于facebook'喜欢')。它们包含两个值,user_id(曾经由rails设置为current_user.id,通过设计的帮助方法)和post_id。

我的问题:

  • 在Angular的ng-controller
  • 中无法访问current_user
  • 您无法直接在表单中提供默认输入值,如下所示:

`

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

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

编辑:

我花了很长时间才把我的变量作为参数传递给addLike,所以我成功地创建了基于current_user.id&amp;的新对象。 act.id.

1 个答案:

答案 0 :(得分:1)

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

Angular方式 使用ng-init在这里是完美的(更好地通过rails方式)。正如Mark Rajcok评论的那样,可以在HTML中使用ng-init:

<input type="text" ng-init="newLike.user_id='<%= current_user.id %>'" ...>