Rails アプリにはユーザーがいて、アカウントに関連付けられた投稿を作成できます。"/api/:user_id/submissions/:id(.:format)" => "submissions#usersubmission" というルートがあり、ID がユーザーに関連付けられているものと一致する場合、ユーザーの投稿が正常に表示されます。
私が今やろうとしているのは、フロントエンドで AngularJS を介してユーザーの投稿を表示することです。:user_id を API 呼び出しに渡す方法がわかりません。これが私の見解です:
<div id="submission-list-container">
<ul id="indexSubmissions">
<li ng-repeat="submission in userSubmissions">
<a href="/submissions/{{submission.id}}"><h3 id="submissionh3">{{submission.title}} <small>{{submissionPreview(submission.content)}}</small></h3></a>
<h1>{{submission.user.email}}</h1>
<a id="edit_button" href="/submissions/{{submission.id}}/edit">Edit</a>
</li>
</ul>
</div>
この呼び出しの工場は次のとおりです。
BrainDB.factory('userSubmission', function($resource) {
var service = $resource('/api/:user_id/submissions/:id', {user_id: '@user_id'}, {id: '@id'} );
return service;
});
そして、呼び出されるコントローラー アクション:
def usersubmission
@user = User.find(params[:user_id])
@submissions = @user.submissions
@submission = @submissions.find(params[:id])
render json: @submission
end
「BrainDB」Angular コントローラは、.query() だけが userSubmission ファクトリです。「userSubmission」ファクトリでは、:user_id に関連付けて、すべてのユーザーの投稿を JSON で正常に返す方法がわかりません。助言がありますか?