TIL

# 211206 TIL ([Ruby, slim] DB 데이터 쿼리, [React] route 연결, Link 사용하기)

inthess 2021. 12. 7. 18:06

장기현장실습

PLSnote 이슈

#2678 노트작성 버튼이 나타나는 곳을  확대하고자 합니다 이슈 진행중 

  • 맵/본부/팀 에서  노트작성시 나타날 프로젝트 리스트 쿼리오 (이슈맵 기준) 
    • 저번에 작성한 코드에서 오류가 있어서 한 줄 한 줄 콘솔에 입력해보며 코드를 수정했다.
      #- 팀의 프로젝트 리스트 중 새로운 이슈 생성 가능한 프로젝트 목록
      def self.has_issue_project_of_team(team)
        # issue_data = []: 현재 선택된 팀의 이슈 리스트 (이슈 아이디)
        issue_data=[] 
      
        # project_data = []: 선택된 팀의 이슈 리스트 중에 확인전 이슈의 프로젝트 아이디
        project_data=[]
      
        team.issues.pluck(:id).uniq.each do |issue|
          @current_issue_team_orders = IssueTeamOrder.where(issue_id: issue).order(order: :asc).last()
          if (@current_issue_team_orders.team_id == team.id)
            issue_data = issue_data.push(@current_issue_team_orders.issue_id)
          end
        end
        if issue_data.present?
          issue_data.each do |data|
            @project_id = team.issues.where(id: data, status: :open_issue).distinct.pluck(:project_id)
            if @project_id.present?
              project_data = project_data.push(@project_id)
            end
          end
        end
        where(id: project_data.flatten.uniq)
      end
    • 이슈맵에서 팀별로보기 -> 맵/본부/팀 경로의 DO 에서  노트 작성 버튼 클릭  프로젝트 필드에 프로젝트 리스트가  나타나는 것을 확인했다. 이슈는 맡은 팀이 변경될  있어서 현재 해당 이슈를 맡고 있는 팀인지, 그 이슈가 확인전 이슈인지를 따져서 나온 이슈들을 포함하는 프로젝트 리스트를 나오게 쿼리하느라 복잡했다. 나중에 코드를 간단하게 수정해야할  있을  같다. 

 

SNU 성문분석 이슈

#47 1:N 분석 표에서 유사도 단어 2줄 표시됨 이슈 (완료) 

  • <tr> 태그에는 className="row"를 주고 <td>,<th> 태그에는 className="col" 을 주었다. 그리고 col은 12 너비를 각각 6,3,3으로 나눠주어 해당 비율을 유지하도록 했다.
    <!-- 코드 일부 -->
    
    <thead> 
      <tr className="row m-0"> 
        <th className="col-6">파일명</th> 
        <th className="col-3">등록일</th> 
        <th className="col-3">유사도</th> 
      </tr> 
    </thead>
    before
    after

 

#50 N:N 분석(시각화) 기능 추가 이슈 진행중 

  • N vs N 분석 (시각화) 메뉴 추가하고 해당 페이지로 이동할  있도록 연결함 
    • ManyToManyAnalysisPage 를 새로 만들고 route에 추가해주었다.
      <!-- SideMenu.tsx -->
      
      <li className="nav-item"> 
        <Link to={ routes.MANY_TO_MANY_ANALYSIS } className="nav-link"> 
          <FontAwesomeIcon icon={ faChartBar } fixedWidth /> 
          <span className="mx-2">N vs N 분석 (시각화)</span> 
        </Link> 
      </li>
      # routes.json
      
      {
        "MANY_TO_MANY_ANALYSIS":"/many_to_many_analysis",
      }
      <!-- Routes.tsx -->
      <Route path={ routes.MANY_TO_MANY_ANALYSIS } component={ ManyToManyAnalysisPage } />
      N vs N 분석 (시각화) 메뉴 추가