Como passar parâmetros quando usar o serviço de recursos?

Uma pergunta muito rookie-ish:

Eu estou tentando construir o objeto de recurso usando o método de fábrica:

.factory('Magazines', [function ($resource) {

    var url = document.URL;
    var urlArray = url.split("/");
    var organId = urlArray[urlArray.length-1];

    return $resource('http://localhost/ci/api/magazines/:id', {
        loginID : organEntity,
        password : organCommpassword,
        id : organId
    });
  }])

Esse método é fácil porque todos os parâmetros são predefinidos, organEntity e organCommpassword são definidos dentro da tag.

Agora, para um objeto de recurso diferente, preciso passar o parâmetro quando a fábrica for chamada.

Eu imagino que o código de chamada deste objeto de recurso deve ser semelhante:

.controller('ResrouceCtrl', function($scope, Magazines) {
      $scope.magazines = Magazines.query();
});

Eu sei que o método query () pode adicionar parâmetros:Magazines.query(params, successcb, errorcb);

Gostaria de saber se apenas passo parâmetros, posso obter o parâmetro na fábrica? Como especificar esses parâmetros passados ​​no método de fábrica?

Por exemplo, suponha que eu não consiga mais obter o organId do url, preciso passá-lo do meu controlador, como receber o organId dentro do método de fábrica?

Aqui está o meu recurso js:

.factory('MagComments', function ($resource) {


    return $resource('http://localhost/dooleystand/ci/api/magCommenct/:id', {
      loginID : organEntity,
      password : organCommpassword,
      id : '@magId' //pass in param using @ syntax
    });
  })

Aqui está meu controlador:

$scope.magComments = MagComments.query({magId : 1});

Eu tentei passar no parâmetro, mas isso causa um erro

questionAnswers(2)

yourAnswerToTheQuestion