응, 그럼, 으...ActiveRecord란 무엇입니까?

6144 단어 rubybeginners

며칠 전에 Active Record에 소개되어 머리가 어지럽고 눈이 어지럽습니다.그것은 마치 무수한 다른 일을 한 것 같지만, 나는 그것을 충분히 설명할 수 없고, 심지어는 나 자신에게까지 기록할 수 없다.더 많은 인코딩 경험이 생기면 시도해 보겠습니다.

이게 어떻게 된 일입니까?


ActiveRecord는 Ruby gem입니다. 코드 라이브러리입니다. 실행gem install activerecord하거나gem 파일에 쓰기gem "activerecord"를 통해 사용할 수 있습니다.

그것은 어떤 작용을 합니까?


Active Record가 많은 작업을 수행했기 때문에 매우 어렵습니다.그것의 두 가지 주요 방면은 대상의 실례화와 관련이 있다.대상을 초기화할 때, 프로그램이 실행될 때 그 대상이 계속 존재하기를 바랍니다.이것은 대상에 대한 정보를 데이터베이스에 저장해야 한다.객체를 만들 때마다 자동으로 데이터베이스에 추가되고 ID 번호를 부여하는 것은 멋지지 않습니까?ActiveRecord를 사용하면 다음과 같은 방법으로 작업을 수행할 수 있습니다.
Ghost.create("Blinky")
아니다
Ghost.new("Blinky")
그것이 하는 또 다른 위대한 일은 자동으로 많은 대상과 유형의 방법을 제공해 준다는 것이다. 그렇지 않으면 자신을 위해 이 방법을 만들어야 한다.뭐 공부 해요?
  • create id번호에 따라 find
  • Ghost.find(3) 방법, 예:
  • Ghost.find_by(name = 'Blinky')
    
  • 대상 속성의 getter와 setter, 쓰기 필요 없음 find_by, 예를 들어
  • ghost.name = 'Blinky'
    
    또는
    ghost.name
    => 'Blinky'
    
    어떻게클래스를 정의할 때 다음과 같이 ActiveRecord 클래스 (특히 ActiveRecord의 하위 클래스) 에서 상속하기만 하면 됩니다.
    class Ghost < ActiveRecord::Base
    end
    
    위에 나열된 모든 속성과 방법 (그리고 그 이상) 은 ActiveRecord::기본 클래스 어딘가에 정의되어 있습니다.

    유추


    ActiveRecord부터 시작하여 나중에 사용할 수 있도록 생성된 각 객체를 데이터베이스에 편리하게 저장할 수 있습니다.유추하기 어려워서 이보다 더 좋은 방법을 제시할 권리를 보류합니다. 하지만: Warby Parker에서 새로운 유리 프레임워크를 하나하나 시도해 보세요.Active Record는 당신의 친구입니다. 볼리래카메라가 있습니다. 당신이 좋아하는 모든 프레임의 사진을 포착하고 예기로 그 이름을 사진에 써서 나중에 참고하고 원하는 것을 선택할 수 있도록 합니다.

    다음은 ActiveRecord가 직접 작성하지 않고 자동으로 일련의 방법을 제공합니다.이렇게 하면 ActiveRecord는음...인스턴트 냄비!옛날에 너는 느린 냄비 하나, 밥솥 하나, 수비드가 담근 것 하나, 그리고 압력솥이 있었다.새로운 Instant Pot Duo Evo가 있으면 이 모든 가전제품을 배달할 수 있습니다. 왜냐하면 Instant Pot에는 이 모든 기능이 내장되어 있기 때문입니다.네, 그렇습니다. 이것은 약한 비례입니다. 그러나 지금은 저녁 11시 51분입니다. 저는 하루 종일 인코딩을 했습니다.

    결석


    좋습니다. 이것은 매우 쉽습니다. 왜냐하면 Active Record가 원래 해야 할 일을 대체했기 때문입니다.ActiveRecord가 없으면 다음을 수행해야 합니다.
  • 사용자 정의 객체 관계 맵(ORM)
  • 을 작성해야 합니다.
  • 자신의 코드를 작성하여 새로 만든 대상을 데이터베이스에 추가
  • 객체를 변경할 때마다 해당 객체의 해당 데이터베이스 항목을 찾아 업데이트합니다
  • 쓰고 읽을 대상 속성마다 getter와setter 코드를 작성합니다

  • 예제


    gem 'activerecord'
    
    class Ghost < ActiveRecord::Base
    end
    
    pac_man_ghosts = ["Blinky", "Pinky","Inky", "Clyde"]
    pac_man_ghosts.each do |ghost|
        Ghost.create(name: ghost)
    end
    

    데이터베이스 연결과 필요한 마이그레이션 작성을 포함한 모든 내용을 정확하게 설정하면'또 다른 왁스 볼'이 완성됩니다.
  • ...데이터베이스에 저장
  • ...자신의 수용자와 수용자 보유
  • ...자신만의 attr_accessorfind 방법이 있습니다.
    (...내가 지금 시간을 쓰지 않으려는 다른 것들이 있다)
  • 만약 네가 Active Record에 대해 더 좋은 비교가 있다면, 나는 듣고 싶다.만약 그것들이 충분하다면, 내가 이 블로그 글에서 제기한 것들을 대체할 수 있을 뿐만 아니라, 네가 만구에 살고 있다면, 나는 네가 좋아하는 맛의 본드 케이크를 구워 줄 것이다.만약 네가 만구에 살지 않는다면, 나는 방법을 강구해서 너에게 한 통을 부칠 것이다.

    좋은 웹페이지 즐겨찾기