2013-09-28 5 views
5

나는 Ruby on Rails를 배우기 시작하고 있으며 몇 가지 의구심이있다. 견link_to 대 url_for 대 레일의 경로

경로

  • LINK_TO 어떻게 url_for 내가 사용할 수 있습니다/:

    나는 이미 Rails documentation 볼 수 있지만 나는 사이의 모든 차이점을 이해하지 않는다 내 신청서의 경로? 또한 다음과 같이 경로에 매개 변수를 보낼 수 있습니까?

    <%= users_path + "/user.id/" %> 
    

    그런가요?

    +0

    확인하셨습니까? http://guides.rubyonrails.org/routing.html#listing-existing-routes – depa

    답변

    9

    url_for은 웹 사이트의 전체 URL을 제공합니다. 예를 들어 www.example.com/my/pathurl_for my_path_url과 같은 것입니다.

    link_to url_for(my_resource_path) 
    
    :

    <a href="www.example.com/my/path">click me</a> 
    

    당신은이 같은 url_for 이것을 사용할 수 있습니다에

    link_to example_path,"click me" 
    

    이 될 것입니다 :

    link_to

    당신에게 예를 들어 특정 경로에 대한 링크를 제공합니다

    resource_pathroutes.rb 파일의 경로를 참조하는 데 사용됩니다. 예를 들어,

    match '/my/:id/page' => 'my#page' 
    

    인 경우 my_page_path(...)을 사용할 수 있습니다.

    경로에 :id이 필요한 경우 my_page_path(current_user.id)과 같이 resource_path에 매개 변수와 같이 전달할 수 있습니다.

    또한, 당신은 단순히 미리 설정된 경로 매개 변수에 추가하여 다른 쿼리 매개 변수를 추가 할 수 있습니다

    my_page_path(current_user.id,:hello => "world") 
    

    당신은 기존 경로에 경로를 추가 할 수 있는지 여부에 대해 질문. 네, 할 수 있습니다.이 함수는 단순히 호출자에게 문자열을 반환하기 때문에 모든 경로와 목적을 위해 문자열을 적절한 경로로 공액 결합하는 한 작성할 수 있습니다.

    +0

    고맙습니다. 답을 더 잘 표현할 수 있다면. 어쨌든 나는 최선의 답을 줄 것이지만 누군가 도움이 필요하면 더 낫다. 고마워,이게 정말 도움이 됐어. – Paladini

    +0

    '또한, 다른 쿼리 매개 변수를 미리 설정 한 경로 매개 변수에 추가하면이 매개 변수를 탐색 할 API를 찾을 수 없습니다. 여기에서도 http://guides.rubyonrails.org/routing.html이 경로 방법의 API 문서를 어디에서 찾을 수 있습니까? – GMsoF