Rails를 사용한 사용자 정의 Helper 단순화 코드

3962 단어 RubyRails

오늘의 목표


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.rb
module UsersHelper
  def higakin
    "ひがきHelperサンプル"
  end
end
View를 표시하는 화면에서 아래 기술한 코드와 같이 helper의togamin 방법을 호출하여 실행합니다.
<%= higakin %>

에서 Helper 샘플로의 문자열을 표시합니다.
실제로 이 Helper를 이용하여 프로필 avater 디스플레이를 진행합니다.
이번에 사용한 건요.
이미지를 등록하지 않을 때는 기본적으로 이 아이콘을 사용합니다.흔한 녀석이야.
Gravater 세계적으로 통용되는 가상 이미지'Gravatar'를 사용자 프로필에 가져옵니다.(Gravatar 계정을 만들 필요가 없습니다. Gravatar는 무료 서비스로 프로필 사진을 업로드하고 지정한 이메일 주소와 연결할 수 있습니다.)
helpers/application_helper.rb
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
이렇게 helper로 정의된 avatar_url(user)는 사용자 테이블에서 반복해서 사용할 수 있다.
아래처럼 보기에서 간단하게 호출할 수 있습니다.
show.html.erb
<%= image_tag avatar_url(@user), class: "round-img" %>

변수처럼 호출할 수 있어 매우 편리하다.

이번에는 조수 정의 방법을 통해 파일을 보는 기술을 단축할 수 있다.

1시 주의사항


단, 정의해야 할 파일은 하나만 주의하십시오.
helper를 정의하려면 "app/helpers/"디렉터리에 저장된 파일이어야 합니다.
이번 상황은 "user helper.rb"파일을 만드는 것입니다.user 모델에서만 사용하는 helper라면 이 파일에 정의합니다.
코드의 가독성을 높이고 간단한 코드를 주의해서 쓰면 다양한 기능을 실현할 수 있을 것이다.

좋은 웹페이지 즐겨찾기