次のように、「params」を「is_following」メソッドに渡せるようにしたいと思います。
respond_to |format|
format.json { render json: @user, :methods => [:is_following params] }
end
ただし、メソッド名の後に「params」を付けると、エラーがスローされます。
syntax error, unexpected tIDENTIFIER, expecting ']'
。
。
JSONを(is_followingメソッドなしで)レンダリングすると、次のようになります。
[{"id":81,"image_url":"https://graph.facebook.com/123213123/picture?type=large","full_name":"John Johnson"},{"id":85,"image_url":"https://graph.facebook.com/123123123/picture?type=large","full_name":"Bill Nye"}]
is_followingメソッドを追加して、JSONが次のように表示されるようにします。
[{"id":81,"image_url":"https://graph.facebook.com/123213123/picture?type=large","full_name":"John Johnson",'is_following'=>4},{"id":85,"image_url":"https://graph.facebook.com/123123123/picture?type=large","full_name":"Bill Nye",'is_following'=>9}]
編集
def friends
@user = User.first
respond_to do |format|
format.json { render json: @user.friends.order("first_name ASC"), :methods => [:is_following], :only => [:id] }
end
end
モデルのis_followingメソッドは次のとおりです。
def is_following params
return Friendship.where("user_id = ? AND friend_id = ?", params[:user_id], self.id).count
end
誰もがこれを解決する方法を知っていますか?私はあなたに百万ドルをあげます。