Rails를 사용한 사용자 정의 Helper 단순화 코드
오늘의 목표
Rails에 예쁜 코드를 쓰기 위해 자주 사용하는'맞춤형 Helper'를 소개한다.
이른바 Helper
Helper는 View의 모듈을 더 쉽게 쓰기 위한 것입니다.
뷰에서 공통된 처리를 메소드로 정의하는 간단한 기능입니다.
헬퍼를 활용하면 중복 기술 처리를 간소화하고 개발 효율을 높일 수 있다.
다음 코드는 링크를 생성하는 Helper입니다.<%= link_to "New User", new_user_path %>
라일스 외에도 버튼과 폼 등을 만들 수 있고 스스로 헬퍼를 만들 수 있는 기본 헬퍼가 많다.
헬퍼를 교묘하게 활용함으로써 코드를 간소화하고 가독성을 높일 수 있다.
Helper 만들기
실제 제작 헬퍼.
Helper 모듈은 app/helpers 아래에 있습니다.
application_helper.rb에서 전체 응용 프로그램에서 사용하는 Helper 방법을 정의했습니다
user_helper.rb는 사용자 전용 Helper를 정의합니다.
user_helper.rb에서 다음 견본을 만드는 방법입니다.
user_helper.rbmodule UsersHelper
def higakin
"ひがきHelperサンプル"
end
end
View를 표시하는 화면에서 아래 기술한 코드와 같이 helper의togamin 방법을 호출하여 실행합니다.<%= higakin %>
에서 Helper 샘플로의 문자열을 표시합니다.
실제로 이 Helper를 이용하여 프로필 avater 디스플레이를 진행합니다.
이번에 사용한 건요.
이미지를 등록하지 않을 때는 기본적으로 이 아이콘을 사용합니다.흔한 녀석이야.
Gravater 세계적으로 통용되는 가상 이미지'Gravatar'를 사용자 프로필에 가져옵니다.(Gravatar 계정을 만들 필요가 없습니다. Gravatar는 무료 서비스로 프로필 사진을 업로드하고 지정한 이메일 주소와 연결할 수 있습니다.)
helpers/application_helper.rbmodule ApplicationHelper
def avatar_url(user)
return user.profile_photo unless user.profile_photo.nil?
gravatar_id = Digest::MD5::hexdigest(user.email).downcase
"https://www.gravatar.com/avatar/#{gravatar_id}.jpg"
end
end
이렇게 helper로 정의된 avatar_url(user)
는 사용자 테이블에서 반복해서 사용할 수 있다.
아래처럼 보기에서 간단하게 호출할 수 있습니다.
show.html.erb<%= image_tag avatar_url(@user), class: "round-img" %>
변수처럼 호출할 수 있어 매우 편리하다.
이번에는 조수 정의 방법을 통해 파일을 보는 기술을 단축할 수 있다.
1시 주의사항
단, 정의해야 할 파일은 하나만 주의하십시오.
helper를 정의하려면 "app/helpers/"디렉터리에 저장된 파일이어야 합니다.
이번 상황은 "user helper.rb"파일을 만드는 것입니다.user 모델에서만 사용하는 helper라면 이 파일에 정의합니다.
코드의 가독성을 높이고 간단한 코드를 주의해서 쓰면 다양한 기능을 실현할 수 있을 것이다.
Reference
이 문제에 관하여(Rails를 사용한 사용자 정의 Helper 단순화 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/keitah/items/5286ba56bdb879b0cc77
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<%= link_to "New User", new_user_path %>
module UsersHelper
def higakin
"ひがきHelperサンプル"
end
end
<%= higakin %>
module ApplicationHelper
def avatar_url(user)
return user.profile_photo unless user.profile_photo.nil?
gravatar_id = Digest::MD5::hexdigest(user.email).downcase
"https://www.gravatar.com/avatar/#{gravatar_id}.jpg"
end
end
<%= image_tag avatar_url(@user), class: "round-img" %>
단, 정의해야 할 파일은 하나만 주의하십시오.
helper를 정의하려면 "app/helpers/"디렉터리에 저장된 파일이어야 합니다.
이번 상황은 "user helper.rb"파일을 만드는 것입니다.user 모델에서만 사용하는 helper라면 이 파일에 정의합니다.
코드의 가독성을 높이고 간단한 코드를 주의해서 쓰면 다양한 기능을 실현할 수 있을 것이다.
Reference
이 문제에 관하여(Rails를 사용한 사용자 정의 Helper 단순화 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/keitah/items/5286ba56bdb879b0cc77텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)