2

私はAngularにまったく慣れていないので、これにアプローチする方法は完全に間違っている可能性がありますが、これをどの方向に進めるかについての一般的なアドバイスをいただければ幸いです。多かれ少なかれ私がやろうとしているのは、Angular を使用して新しい「いいね」オブジェクトを作成することです (Facebook の「いいね」に似ています)。それらには、user_id (devise のヘルパー メソッドを介して current_user.id としてレールによって設定されていた) と post_id の 2 つの値が含まれます。

私の問題:

  • 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 と act.id に基づいて新しいオブジェクトを正常に作成できました。

4

1 に答える 1

1

Rails の方法 .html.erb (または .js.erb) 内に、グローバルを初期化する JavaScript コードを記述し、current_user.id の値でパラメーターを渡すことができます。

ここでは ng- init を使用するのが最適です (レールの方法よりも優れています)。Mark Rajcok がコメントしたように、ng-init は次のように HTML から使用できます。

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