레일스 link_to
방법!
모든 Rails 애플리케이션에서 사용할 가장 일반적인 도우미 메서드 중 하나입니다.
하지만 어떻게 작동합니까?
link_to
에 대해 알아보기 위해 여기에 온 경우 및 함께 사용할 수 있는 다양한 옵션을 찾으셨다면 바로 찾아오셨습니다!
먼저...
link_to
의 기능 할래?
글쎄, 이 전체 웹사이트는 페이지 사이에 링크가 있기 때문에 작동합니다.
페이지에서 페이지로 이동하는 방법입니다.
일반 HTML에서는 다음과 같은 링크를 만듭니다. :
Improve Your Ruby Skills
하지만 Rails에서는 다음과 같이 보일 것입니다. :
<%= link_to "Improve Your Ruby Skills", "/ruby-book" %>
왜?
우리는 Rails에서 경로를 사용하기 때문입니다.
_path
를 사용하여 이를 활용하고자 합니다. 메서드 및 대상 만들기(href
) 링크.
link_to
사용 값을 보간할 필요가 없기 때문에 이 작업을 더 쉽게 수행할 수 있습니다.
이것이 내 뜻입니다 :
">Improve Your Ruby Skills
지금:
이 메서드에서 지원하는 가장 유용한 선택적 인수에 대해 자세히 살펴보겠습니다.
Rails link_to 옵션 및 인수
link_to
의 첫 번째 인수 링크의 텍스트입니다.
두 번째 주장은?
연결하는 URL입니다.
원하는 경우 하드코딩할 수 있지만 대부분의 경우 Rails 모델 또는 _path
를 사용합니다. 방법.
Rails는 적절한 규칙을 따랐을 때 상황을 파악할 것입니다.
예를 들어 :
<%= link_to "Improve Your Ruby Skills", book_path(@book) %>
또는 :
<%= link_to "Improve Your Ruby Skills", @book %>
어떤 것을 사용해야 하는지 어떻게 알 수 있나요?
- 특정 자원(책)을 언급할 때의 단수형
- 컬렉션(도서)을 언급할 때의 복수형
예 :
# Plural <%= link_to "All Books", books_path %> # Singular <%= link_to "Edit Book", edit_book_path(@book) %>
또한 경로를 확인하는 데 도움이 됩니다(rake routes
사용). ).
첫 번째 열에는 이름이 있습니다(예:edit_book
) _path
를 추가하여 링크에 사용할 수 있습니다. 그것에.
확인 후 링크 삭제
사용할 수 있는 두 가지 유용한 옵션:
- 확인
- disable_with
예 :
<%= link_to "Delete Book", @book, method: "delete", { confirm: "Are you sure?", disable_with: "Processing..." } %>
링크의 기본 동작은 GET 요청입니다.
"DELETE" 작업을 사용하려면 구체적으로해야 합니다. .
하지만…
이전 페이지에 대한 링크를 원하면 어떻게 합니까?
시도 :
<%= link_to "Back", :back %>
사용자 정의 CSS 클래스 및 HTML 속성을 사용하는 방법
CSS를 사용하여 링크를 다르게 만들 수 있습니다.
예를 들어 :
<%= link_to "Get More Books", books_path, class: "index-link" %>
다음 CSS가 있다고 가정:
.index-link { color: blue; padding: 10px; }
더 많은 HTML 속성(예:"id")이 필요한 경우 링크 텍스트 및 링크 URL 뒤에 추가할 수 있습니다.
쿼리 매개변수 및 앵커 링크를 만드는 방법
도움이 될 수 있는 또 다른 옵션은 쿼리 매개변수 및 앵커로 링크를 생성하는 기능입니다.
이것이 도움이 되는 이유는 무엇입니까?
사용자가 링크를 클릭하면 컨트롤러에서 이 추가 데이터에 액세스할 수 있기 때문입니다.
몇 가지 예를 살펴보겠습니다!
이와 같은 URL을 만들고 싶다면 :
"/search?q=all"
이렇게 하면 됩니다 :
<%= link_to "Search ALL", search_path(q: "all") %>
이 URL의 경우 :
"/books#programming"
할 수 있습니다 :
<%= link_to "Programming Books", books_path(anchor: "programming") %>
URL 도우미와 결합(_path
/ _url
), link_to
필요한 모든 유연성을 제공합니다.
이미지에 링크
많은 사람들이 link_to
를 모릅니다. 선택적 블록을 사용합니다.
이것은 더 복잡한 시나리오를 가능하게 합니다.
이미지에 링크하는 것과 같습니다. :
<%= link_to books_path do %> <%= image_tag "Book Collection" %> <% end %>
이 예에서 블록의 내용은 연결 텍스트, 이미지 또는 클릭 가능하게 하려는 기타 HTML 요소가 됩니다.
요약
link_to
에 대해 알아보았습니다. Rails의 메소드!
이 기사가 도움이 되었다면 내 Ruby 책을 받아 Ruby 기술을 강화하고 내 작업을 지원할 수 있습니다.
읽어주셔서 감사합니다 🙂