eb의 일부 템플릿을 완전히 이해했습니다.
erb에서render 방법으로 제시한view를 다시 사용할 수 있습니다.
이 렌더 방법은 매우 번거롭고 사용 방법이 매우 다양합니다!교과서의 복사와 접착이 한계에 이르렀기 때문에 나는 그것을 연공을 납부할 때 공부하는 것으로 여긴다.
참조 링크:
우선, 어떤 파일에render 방법을 쓰는지는 대체적으로 두 가지 사용 방법이 있다.
controller에 적어서view 파일 전체가 응답합니다.
"controller에 적힌 액션은 원래 마지막에render가 필요합니다. 하지만 rails를 생략해도 자동으로 보충됩니다."네, 그거요.
이것은 일부 틀이 아니기 때문에 이번 보도는 처리하지 않는다.redirect_to와 구별하거나 "Canonly render or redirect once peraction"오류 등의 정보를 원하는 사람은 참고 URL에서 rails 설명서를 읽으십시오.
페이지에 템플릿 파일을 레이아웃으로 그립니다.
이번에 사용한 것은 이 두 가지 방법이다.강좌에서 야자라고 불릴 수도 있다.
view 디렉터리에서 밑줄로 시작하는 파일은 일부 템플릿 파일입니다.1개)erb 파일이 완성되지 않았습니다. 단독으로 그릴 수 없습니다.기타 버전.erb 파일에서 사용합니다.
나는 여기서 끝났으면 좋겠어.여기서 일부 템플릿의 사용 방법을 더욱 세분화할 수 있다.
매개 변수를 사용하지 않고 일부 템플릿을 잡아당깁니다.
자습서에 사용된form.html.erb 등은 이것과 맞먹는다.
디렉토리의tweet.html.erb 파일을 그릴 때 원래 쓰기 방법은 이렇습니다.
<%= render partial: 'tweets/tweet' %>
partial: 생략할 수 있습니다.그래서 이렇게 됐어요.<%= render 'tweets/tweet' %>
일부 템플릿에 변수나if 분기를 대입하는 매개 변수를 전달합니다.
locals의 사용 방법은 강좌에 기재되어 있습니까?(기억의 저편)
이렇게 쓰면 트위터 디렉터리에tweet.html.erb 파일의 Twitter 변수에 현재 사용 중인 @Twitter 변수를 대입하면 호출할 수 있습니다.
<%= render partial: 'tweets/tweet', locals: { tweet: @tweet } %>
partial과local을 생략합니다.<%= render 'tweets/tweet', tweet: @tweet %>
"이런 거 생략한 김에 들어가! 트위터 시끄러워!"이런 소리가 들리는 것 같은데...@ Twitter 같은 변수를 사용했으니까.tweet.html.eb 파일을 부르는 것은 당연한 일이다. 그런 파일은 트위터 디렉터리에 있을 것이고, 일부 템플릿 파일에 사용된 매개 변수 이름도 트위터일 것이다.사실 이런 것들을 생략해도 rails는 눈치껏 똑같은 일을 한다.
<%= render @tweet %>
이 가장 짧은 글씨는 나중에 쓸 테니 기억하세요.배열을 매개 변수로 전달하고 일부 템플릿의 요소 개수를 반복합니다.
강좌에서user와micropost를 일렬로 배열한 것이 바로 이것입니다.
컬렉션을 전달하고 컬렉션을 사용하여 컬렉션 구성원의 개수를 반복합니다.
<%= render partial: 'tweets/tweet', collection: @tweets %>
이번에는partial과collection의'Twitter/tweet'만 생략하고 @Twitters 같은 작법(대략)으로는 안 된다.그러나 이렇게 써도 레일스는 '디렉터리 이름' 부분 템플릿 파일 이름 '부분 템플릿 안의 변수 이름' 세 가지를 기세 있게 추측할 수 있다.
<%= render @tweets %>
이번 코드와 상술한'잠시 후에 사용하겠습니다. 기억하세요'의 코드를 비교해 보십시오.하나하나 지저귀고 또 지저귀지만 코드에서는 한 글자가 다르다.
이와 같이render(rails의 방법뿐만 아니라)는 단수 형식이냐 복수 형식이냐에 따라 행동이 크게 다르니 주의하세요.
이상은 이 보도의 취지입니다.
다음은 뱀발.
이번에는 데이터베이스 내용을view로 테이블로 출력하기 위해 반했다.
일부 템플릿에 thead와 tbody를 기록합니다.view 옆에 있는render@books로 제목 줄 → 데이터 줄 → 제목 줄 → 데이터 두 번째 줄을 그리기 시작합니다.
렌더의 매개 변수는 여러 형태의 @books이기 때문에 일부 템플릿의 제목 행동을 수십 번 그립니다.
결과는 페이지 맨 끝에 있는 템플릿에만 쓰고 책 템플릿에 데이터 줄만 쓰면 해결됩니다.
상관없습니다. 모음집을 모두 배열하고 싶지 않으면, select 방법으로 일부분만 그릴 수 있습니다.
<%= render @tweets.select{|t| t.post_on_today? } %>
Reference
이 문제에 관하여(eb의 일부 템플릿을 완전히 이해했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/hal_mat/articles/83f37edda263f762899f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)