본문 바로가기

반응형

RoR

Rails에서 Vue에 데이터 전달하기 레일즈에서 Vue로 데이터를 전달해야 할 순간이 있습니다. 그런데 레일즈의 뷰 템플릿 엔진으로는 Vue를 바로 다룰 수가 없기 때문에(제가 모르는 걸 수도 있어요..ㅜㅜ), 값을 전해주기가 조금 힘듭니다. 이럴 때 Vue에게 값을 전달하는 방법을 몇 가지 적어보려고 합니다. HTML의 data속성을 사용해 전달 HTML에는 data라는 속성이 있습니다. 간단한 데이터를 넘길 때 편리합니다. 그치만 위의 링크에도 언급이 되어 있듯 성능이 그다지 좋은 편은 아니라고 하니, 다량의 데이터를 넣는 것은 좋지 않아 보이네요. 아직 Vue가 익숙하지 않아 생각보다 구현에 좀 애를 먹었는데요ㅜㅜ 이렇게 하면 됩니다. # controller def index @user_name = current_user.name en.. 더보기
Ruby : 기초(6) 클래스 선언 클래스는 def 클래스명 - end로 선언합니다. 기초 1의 내용과 같이, 클래스명은 파스칼 케이스로 짓는 것이 관례입니다. 함수 스코프와는 관계 없는 인스턴스 변수 클래스 내에서 사용되는 인스턴스 변수(@var)는 선언 위치와 상관 없이 클래스 내의 어디에서든 접근할 수 있습니다. class Apple def set_phone(phone_name) @phone = phone_name end def print_phone puts @phone # 접근이 안될 것 같지만 가능하다 end end 접근제어 기본적으로 클래스 내 모든 메소드는 public이지만 필요에 의해 바꿀 수 있습니다. ... public def func1 ... end private def func2 ... end protected .. 더보기
Ruby : 기초(5) 메소드 메소드(method) 루비의 함수는 클래스에 들어있든 아니든 메소드(경우에 따라 메서드)라고 불립니다. # 인자가 없으면 괄호를 생략할 수 있다 # 기본값이 없으면 생략할 수 있다 def 메소드명(인자명=기본값) # 코드블럭 end블록의 표시 방법 루비에서 블록을 표시하는 방법은 두 가지가 있습니다. 중괄호({ })와 do-end입니다. 중괄호는 한 줄로 정의할 때 사용됩니다. 반환 값은 따로 지정하지 않아도 괜찮다 특별히 지정되지 않은 경우, 메소드는 마지막 줄의 결과값을 반환합니다. 가변 매개 변수(argument) 루비의 메소드는 한 매개 변수에 별표(*)를 붙임으로써 여러 인자(parameter)를 받을 수 있습니다. 모호함을 막기 위해 가변 매개 변수는 한 개만 허용됩니다. def functio.. 더보기
Ruby : 기초(4) 해시와 심볼 해시 해시는 컬렉션을 지원합니다. 해시의 내부는 키와 키에 해당하는 값이 들어 있습니다. hash = { :apple => "iPhone", # 키= :apple / 값= "iPhone" "samsung" => "Galaxy", # 키= "samsung" / 값= "Galaxy" google: "pixel" # 키= :google / 값= "pixel" } 예시 코드를 보시면 아시겠지만, 해시를 만들 때 값을 정의하는 방법이 총 세 가지가 있습니다. 첫 번째는 심볼이라는 값을 키로 설정하는 방법, 두 번째는 문자열을 키로 설정하는 방법, 세 번째는 첫 번째와 동일한 방법(축약 표현)입니다. 해시 : 값 추가, 접근 해시에 값을 추가할 때는 해시변수[키] = 값형식으로 넣을 수 있습니다. hash = Ha.. 더보기
Ruby : 기초(3) 반복 while과 until 루비의 조건문에 if, unless가 있던 것처럼, while에도 반대에 해당하는 until이라는 것이 있습니다. until은 조건이 거짓일 때 반복되는 반복문입니다. i = 3 until i < 1 print i end # 3 2 1for 루비에는 전통적으로 사용되어 오던 for문(초기식; 조건식; 증감식)이 없고, 대신 for-in문이 있습니다. 규칙은 for 변수 in 범위값(Range)입니다. 예를 들어, 단순 반복을 5회 하고 싶다면 for num in 1..5 # doSomething end으로 5회 반복이 가능합니다. 그리고 이러한 반복문을 제어하는 명령어로 break와 next(continue가 아닙니다)를 제공합니다. loop 단순 반복문(조건에 따른 break가 .. 더보기
Ruby : 기초(2) 연산 루비에서 좌우 항의 크기를 반환하는 연산자는 연산자는 좌항과 우항의 크기를 비교해서 좌항이 크면 1을, 우항이 크면 -1을, 값이 같으면 0을 반환합니다. 10 20 # -1 10 10 # 0 10 5 # -1배열끼리의 연산 루비는 합집합, 교집합, 차집합 연산이 가능합니다. a = [ 1, 2, 3, 4, 5 ] b = [ 2, 4, 6, 8 ] a & b # 교집합 : [2, 4] a | b # 합집합 : [1, 2, 3, 4, 5, 6, 8] a - b # 차집합 : [1, 3, 5]루비에는 자동 증감 연산이 없다 루비에는 대부분의 언어에서 제공하는 자동 증감 연산자(++, -- 등)가 없습니다. 특별한 경우가 아니면 += 1 / -= 1을 사용해 증감을 하게 됩니다. 조건문 루비는 if ... e.. 더보기
Ruby : 기초(1) 변수 입사하게 된 회사에서 레일즈를 쓰고 있지만, 여태까지 루비를 한 번도 써본 적이 없는 언어라 공부하면서 정리 차원에서 글을 썼습니다. 공부하면서 쓰고 있는 글이기 때문에, 틀린 부분이 있을 수 있습니다(발견하시면 댓글로 알려주세요!). * 기본적으로 프로그래밍에 대한 지식이 어느 정도 있음을 전제로 쓴 글입니다. 변수 타입 루비는 숫자형(Integer, Float)와 문자형(String), 부울 값(true, false), 그리고 값이 없음(nil)이 있습니다. 다만 선언할 때 타입을 따로 구분하지는 않습니다. 작명 규칙 작명은 코딩 스타일에 따라 다르겠지만, 기본적으로 대부분의 값은 스네이크 표기법(apple_banana)을 따릅니다. 클래스는 파스칼 표시법(AppleBanana)을 따릅니다. 상수 선.. 더보기