2013-05-23 1 views
1

params 객체를 linTo 또는 action helper에 전달할 수 있습니까?Ember.js가 linkTo 또는 action helper에 params 객체 전달

개체가있어서 복합 키가 필요합니다. Ember Model을 사용 중이며 어댑터를 수정해야합니다. 초기 개체를 얻는 라우터에서 필요한 키를 가진 params 개체를 전달합니다. 내 문제는 transitionToRoute와 linkTo 또는 action 중 하나를 사용할 때 같은 일을하려한다. 내가 말할 수있는 한 라우터를 다시 쳐서도 안됩니다.

임이 질문에 다시오고 있습니다. 임씨는 여전히 이것을 처리 할 수있는 적절한 방법을 모르고있다.

App.Router.map(function() { 
    this.resource("clients", { path: 'clients' }, function() { 
    this.resource("client", { path: ':client_id' }, function() { 
     this.resource("claims", function() { 
     this.resource('claim', { path: ':claim_id/:claim_sub' }, function() { 
      this.resource('lines', { path: 'lines' }, function() { 
      this.resource('line', { path: ':line_id' }, function() { 
       this.resource('flags', function() { 
       this.resource('flag', { path: ':flag_id' }); 
       }); 
      }); 
      this.route('claim_lines'); 
      }); 
     }); 
     }); 
    }); 
    }); 
    this.route("errors", { path: '/errors/:error_id' }); 
}); 

나는 복합 슬러그가있는 곳의 주장에 연결될 때, 나는 정의되지 않은 것들을 얻는다.

UPDATE

직렬화 내가 필요로 그냥 뭐이었다. 경로에 대한 다음

{{#linkTo routename params}}Text for Link{{/linkTo}} 

:

App.ClaimRoute = Nucleus.Route.extend({ 
    model: function (params) { 
    params.client_id = this.modelFor('client').get('client_id'); 
    return App.Claim.find('claim', params); 
    }, 

    serialize: function (model) { 
    return { claim_id: model.get('cla_seq'), claim_sub: model.get('cla_sub') }; 
    } 
}); 
+0

코드를 보여줄 수 있습니까? – intuitivepixel

답변

4

나는 예는 다음과 같은 뭔가 linkTo에 개체를 전달할 수 있습니다, 코드 예제가 가장 도움이 될 것입니다,하지만 귀하의 질문에 대답하려고 생각 코드의 경로 이름과 일치하면 serialize 함수를 정의 할 때 매개 변수로 params를 가져 와서 라우터에 정의 된 라우팅 세그먼트와 일치하도록 URL을 작성하는 데 사용할 수 있습니다.

serialize: function(params) { 
    // params.property1 and params.property2 
    return { segment_1: params.property1, segment_2: params.property2 }; 
    } 
+0

감사합니다. 랜스 .. 이것은 매우 도움이됩니다. – CoderStash

관련 문제