AngularJS + Railsでネストしたリソースを取得する

例えばプロジェクトの一覧からあるプロジェクトを選んで、選んだ先がAngularJSで作成されたタスク管理アプリだったとします。プロジェクトの一覧はRailsのビューで作成しています。プロジェクトのIDをAngularJSのアプリに渡すためにはどうすれば良いでしょう?

AngularJSとRailsの丁度良い関係を探るで紹介したような設計方針をとった場合につまづくポイントかも知れません。

ng-initでプロジェクトのIDを渡す

そういう場合は下記のようにng-initでプロジェクトのIDを渡すのが一番シンプルかなーと思いました。

で、このプロジェクトIDを元にAngularJS側でクエリをかける、と。

ログインしているユーザーが所属しているプロジェクトにアクセス範囲を絞る場合は@project = current_user.projects.find(params[:id])みたいにRails側で制限をかければ良いと思います。

AngularJSリファレンス
AngularJSリファレンス

posted with amazlet at 14.11.20
池添 明宏 金井 健一 吉田 徹生
インプレス
売り上げランキング: 23,831