2011-12-06 7 views
0

저는이 말을 처음 접했으므로 아무도 그걸 할 수있는 방법을 알려주지 않을 것이라고 생각합니다. 그렇다면 필자는 계속해서 내 두뇌를 문서와 함께 녹여 낼 것입니다.레일의 경로 이름 바꾸기 3

/markets/4/articles/32 /markets/111111/articles/999999로 변경해야합니다. 여기서 111111은 markets 테이블의 remoteID 필드에 있고 999999는 기사의 remoteID 필드에 있습니다. 표.

외부 시스템이 RoR 앱에 새 레코드를 작성하고 ITS ID를 remoteID 필드에 삽입하기 때문입니다. 다음에 레코드를 업데이트 할 때 어떤 종류의 조회를 만들지 않고 RoR ids를 알 수 없습니다.

내가 본 것부터는 할 수 없습니다. 어쩌면 나는 열심히보고 있지 않을까?

감사합니다, 다시마

+0

_helpers_을 (를) 변경 하시겠습니까? 그러한 URL을 생성합니다 (예 : 'market_article_path') 또는 일치하는 규칙? 둘 모두 가능해야합니다. 'to_param' 메소드를 살펴 보자. 앱 안에서'Article.find_by_remoteId (params [: id])'만하면됩니다. 충분하지 않습니까? – riffraff

+0

리플 렉 (riffraff), 당신의 해결책은 어제 밤에 나에게 왔고 그 위에 잠을 자지 못했습니다. find_by_remoteId는 실제로 앱을 사용하는 사람들 (또는 도우미와 함께 돌아 가야하는 사람)을위한 라우팅을 사용하지 않고 API를 통해 만들고 업데이트하기 위해 작동합니다. – h8windows

답변

0

그것은 가능해야한다, 그것은 아마 같은 것을 변경할 수 있습니다 :

/markets/:market_remote_id/articles/:article_remote_id 

그런 다음 컨트롤러에 params[:market_remote_id]params[:article_remote_id]로 사용할 수 있습니다

가 되세요 전체 내용은 http://guides.rubyonrails.org/routing.html#dynamic-segments을 보시길 바랍니다.