즉, 프로그래밍[Ruby&Rails 복습편]~연관성을 극복하자~
정말 머리에서 김이 나요...며칠 지나면 지혜가 열이 나겠지...
오늘은 잠시 쉬면서 오류 해결 시리즈를 쓰고 싶습니다.
무엇이 연관입니까?
한마디로 모델과 모델을 결합한 것이다.
연맹입니다.
예를 들어, Tweet 모델과 Users 모델 두 모델이 있다고 가정합니다.
이 두 가지 기능은 각각 Twitters표,users표의 정보를 얻고 컨트롤러에 전달하는 데 사용된다.
현재, 컨트롤러는 트위터 테이블과users 테이블의 내용을 처리하기 시작했습니다.
그리고 나서
1. Tweet 모델에 지시
2. Tweet 모델이 트위터 테이블에서 정보를 찾다
3. 찾은 정보를 컨트롤러에 전달
를 참고하십시오.
마찬가지로 User 모델도 데이터를 전달해 주십시오...를 참고하십시오.
이번에는 두 개의 모형만 있다. 예를 들어 모형이 많으면 정보를 원하는 책상 위의 모든 모형을 호출하기 위해 처리가 무거워진다.
따라서 연관성 중에는 모델과 모델 모두 연관성이 있어야 한다.
이렇게 하면 어떤 모델이 호출될 때 다른 모델이 속한 데이터를 내보낼 수 있다.
이번 경우라면 Tweet모델과 Users모델을 연결시키면 Twitters표의 정보와users표의 정보를 컨트롤러에 넘길 수 있다.
전선 확인!
그렇다면 관련 기술이 어떻게 쓰였는지 실제 코드를 확인해 봅시다.
users_conrtoller.rb1. class UsersController < ApplicationController
2. def show
3. user = User.find(params[:id])
4. @nickname = user.nickname
5. @tweets = user.tweets.page(params[:page]).per(5)
6. end
7. end
위에서 다섯 번째 줄을 세다
5. @tweets = user.tweets.page(params[:page]).per(5)
우리 이 기술에 주목합시다.
안의 요소를 분해하면 tweets
라는 기술이 나온다.
이것tweets
이 어디서 나왔는지 모델 파일에 정의되어 있습니다.
users.rbclass User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
has_many :tweets
has_many :comments
end
이쪽 모델 파일 위의 네 번째 줄에서'한 사람의user가 여러 개의 Twitters'를 정의합니다.
따라서 컨트롤러 파일에서 tweets
의 기술을 사용할 수 있다.
책상 위에서 확인해 보세요!
나는 책상 사이의 연결을 그림으로 만들었다.
같은 색의 선으로 연결된 것은 한 사용자의 여러 정보입니다.
예를 들어users표의 id3 정보를 지정하면 Twitters표의 id4, 5, 6 정보도 함께 얻을 수 있다.
--
어때요?
파일을 뛰어넘으면 변수와 정의된 기술의 동작은 모르지만 도해를 사용해서 이해해야 한다고 생각합니다.
하지만 그 수행은 계속되고 있어...
Reference
이 문제에 관하여(즉, 프로그래밍[Ruby&Rails 복습편]~연관성을 극복하자~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moso/items/ce847312b96780e93944
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. class UsersController < ApplicationController
2. def show
3. user = User.find(params[:id])
4. @nickname = user.nickname
5. @tweets = user.tweets.page(params[:page]).per(5)
6. end
7. end
5. @tweets = user.tweets.page(params[:page]).per(5)
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
has_many :tweets
has_many :comments
end
Reference
이 문제에 관하여(즉, 프로그래밍[Ruby&Rails 복습편]~연관성을 극복하자~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/moso/items/ce847312b96780e93944텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)