즉, 학습 프로그래밍 [Ruby & Rails 복습편]~ 부분 템플릿~

4593 단어 RubyRails
잘못된 문제가 되풀이되기 시작했지만 아무것도 몰라 어리둥절하다.
코드를 복습할 때 리듬과 추세에 따라 조금씩 알아가는 부분이 계속 나와요...
오늘은 이런 리듬과 기세로 일부 모형을 썼다.

부분 템플릿이란 무엇입니까?


보기 파일을 설명할 때 같은 레이아웃의 구조가 나타날 수 있습니다.
같은 레이아웃, 같은 내용의 코드를 반복해서 기술하는 것은 싫죠.
따라서 공통의 HTML 구조를 템플릿으로 만들어라!부분 템플릿입니다.

어떻게 기술합니까?


render 방법을 사용하여 일부 템플릿을 기술합니다.
기본적인 사용법은 이런 느낌이에요.
<%= render partial: "部分テンプレート名" %>
이렇게 하면 일부 템플릿을 호출할 수 있다!
이러다 indexhtml.다만 eb 파일에서 일부 템플릿을 호출했을 뿐 중요한 부분 템플릿은 없습니다.
따라서 일부 템플릿으로 사용할 HTML의 기술을 다른 파일에 저장해야 합니다.
파일 이름에 규칙이 있습니다.(밑줄) 템플릿의 일부로 사용됩니다.
따라서 일부 템플릿의 이름이'sample'이고 파일 이름이sample.html.eb가 되다.
그렇다면 아까 예시한 트위터처럼 같은 부분의 템플릿을 반복적으로 설정한 경우 어떻게 기술해야 하나요?

   <% @tweets.each do |tweet| %>  
②    <%= render partial: "sample", locals:{moso: tweet} %> 
   <% end %> 
먼저 ①의 코드부터 설명한다.
①의 @twets는 컨트롤러가 정의한 실례 변수입니다. |twet |는 그룹에 저장된 모든 기록을 표시합니다.
트위터에서'Twitter'라는 메시지를 하나씩 꺼내는 것이다.
each do~end의 기술이 있기 때문에 배열 요소의 수량만 추출하는 작업을 반복한다.
② 일부 템플릿에 대한 기술입니다.
"Sample"에서 먼저 "Sample"이라는 부분의 템플릿 파일을 만들어야 한다고 설명합니다.
다음은locals: 단, 일부 템플릿에 넘기려는 값을 지정합니다.
{moso:tweet}에서 아까 ①에서 기술한 |tweet|의 정보를 "moso"의 이름으로 일부 템플릿에 표시합니다.
문장만 보면 이해하기 어려우니 일부 템플릿의 파일을 보십시오.

<div class="content_post" style="background-image: url(<%= moso.image %>);">
  <div class="more">
    <span><%= image_tag 'arrow_top.png' %></span>
    <ul class="more_list">
      <li>
        <%= link_to "詳細", tweet_path(moso.id), method: :get %>
      </li>
      <% if user_signed_in? && current_user.id == moso.user_id %>
        <li>
          <%= link_to '編集', "/tweets/#{moso.id}/edit", method: :get %>
        </li>
        <li>
          <%= link_to '削除', "/tweets/#{moso.id}", method: :delete %>
        </li>
      <% end %>
    </ul>
  </div>
  <%= simple_format(moso.text) %>
  <span class="name">
    <a href="/users/<%= moso.user_id %>">
      <span>投稿者</span><%= moso.user.nickname %>
    </a>
  </span>
</div>
여기 코드에'moso'라고 적힌 부분은 index입니다.html.erb 파일에 정의된 Twitter 열에서 추출한 정보를 표시합니다.
--
어때?
이렇게 출력을 해보면 자신이fuwafuwa의 이해도로 어떻게 배웠는지 알 수 있습니다...
그리고 그림만 점점 더 잘해져요...근데 그 공부는 계속되고 있어.

좋은 웹페이지 즐겨찾기