在我的 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 格式的所有用户帖子。有什么建议么?