I761 관리자 이름 공간에 사용자'show'작업 및 보기 추가

3987 단어 alonetone

묘사

정보


관리 이름 공간에서 사용자 페이지를 보는 것은 매우 유용하다.이 페이지는 관리자의 관점에서 모든 관련 정보(평론, 자산, 사용자 정보)를 집합하여 관리자가 스팸메일인지 아닌지를 결정할 때 완전한 정보를 가지고 있는지 확인합니다.
이 PR은 페이지 스타일을 디자인하지 않으며 주로 정보(개념 증명)를 편집합니다.
나는 div, admin/useradmin/assets에서 기존의 admin/comments을 추출했다.
  • 의 페이지는 5개의 기록(주석과 자산에 사용)으로 설정되어 있다.페이지 크기 유지
  • 삭제된 사용자
  • 표시

    효과가 없는 것을 시험해 본 적이 있습니까?어떤 평론가가 주의해야 할 것이나 곤란하거나 까다로운, 설명해야 할 것이 있습니까?


    주요 도전은 routes이다.처음에 나는 그것을
    resources :users, path: 'users/(:filter_by)', only: [:index, :show] do...
    
    filter_by: email의 기존 기능 뒤에 숨겨져 있기 때문에 처음에는 아무런 문제도 알아차리지 못했다.users#show이 아닌 users#index을 클릭합니다.이곳의 루트는 login 값을 id: 파라미터가 아니라 filter_by 파라미터로 간주한다.
    내가 규격을 첨가했을 때, 그것은 수면 위로 떠올랐다.나는 users#show 범위 외현식 경로를 통해 path: 'users/(:filter_by)'으로 그것을 복구했다.
    그 밖에 나는 그것에 index GETshow GET을 다른 이름으로 구분해야 한다
    admin_user GET      /admin/users/:id(.:format)                                                               admin/users#show
    ...
    admin_users GET      /admin/users(/:filter_by)(.:format)                                                      admin/users#index
    

    오류 발견:


    사용자가 다른 사람에게 주는 평론을 표시하기 위해 규범을 추가할 때, 그것은 soft_delete_with_relations 범위에 포함되지 않는 것 같다.
    그래서 나는 사용자가 제시한 평론에 접근할 수 있도록 사용자에 새로운 has_many: given_comments 관련을 추가했다.
      has_many :given_comments, -> { order('comments.id DESC') },
        foreign_key: 'commenter_id',
        class_name: 'Comment',
        dependent: :destroy
    

    들었어???


    모든 일을 결합시키기 위해서 나는 또 몇 가지 일을 추가했다.
    - 사용자가 삭제된 자산에 대해 어떠한 조작도 원하지 않기 때문에 data--user-deleted이 사실이라면 버튼을 숨깁니다
    - 댓글stumulujs 컨트롤러는 한동안 사랑을 보지 못했다.나는 다른 모델을 위한 모델을 따르기 위해 컨트롤러를 재구성했다
    - 1개 gotcha: 게스트 리뷰 때문에 link_to_if이 협업 거부
    <%= link_to "Comment By: #{comment&.commenter&.login}", admin_possibly_deleted_user_path(comment.commenter.login), { filter_by: {commenter_id: comment.commenter_id } } %>
    
    비록 내가 link_to_if 루비 문서의 온화한 지도를 했지만, 그것은 여전히 나에게 잘못을 줄 것이다
    ActionView::Template::Error (undefined method `login' for nil:NilClass):
    
    그래서 나는 그것을 복구하기 위해 if/else가구를 건설했다.
    사양이 추가되었습니다.
  • [x]PR 제목 변경 사항
  • [x] 분리 방법 또는 새로운 종점에 대한 새로운 시험
  • 증가

    코드 심사 전과 심사 기간의 기타 제출 후.

  • [x] 제목 및 설명을 업데이트하여 추가 변경 사항을 설명합니다.
  • [] 모든 테스트는 녹색
  • [x] 로컬 부팅 브랜치에서 새 코드
  • 실행
  • [] 포시의 변화는 목적이 있거나 해석된
  • []Css 변화가 휴대폰에서 즐거웠다(Percy를 통해)
  • 토론 #1

    토론 #2

    @sudara는 포시의 메인 업데이트가 실패한 것 같습니까?한번 봐주시겠어요?

    토론 #셋

    토론 #4

    토론 #5

    @Innate Wonder 나는 네가 마스터를 합병해야만 퍼시를 즐겁게 할 수 있다고 생각한다. 지난 며칠 동안 많은 변화가 생겼다!

    토론 #6

    토론 #7

    토론 #8

    토론 #9

    토론 #10

    이 때문에 흥분!평론 범위가 매우 좋다.나는 우리가 그것을 컨트롤러에 쓸 수 있다고 생각한다.rb

    토론 #11

    토론 #12

    토론 #13

    @Innate Wonder 보기 좋아요!우리는 html을 복제하는 것이 아니라 보기 논리를 부분으로 옮겨야 한다. (우리가 전진하는 과정에서 최종적으로 의견 차이가 발생할 수 있다.) 이 점이 좋다는 것을 알게 해 준다. 우리는 합병할 수 있다. 벤은 자극적인 디스플레이 논리를 css로 옮기는 것을 깊이 있게 연구하기 시작할 수 있다.

    토론 #14

    @sudara면 됩니다.이 부분의 내부가 일부 변경되었기 때문에 단독으로 보존할 수 있다.그러나 나는 사용자 # 표시와 색인 페이지에서 같은 부분을 사용할 수 있도록 그것들을 충분히 깨끗하게 정리할 수 있다고 생각한다.

    토론 #15

    @Innate Wonder 재검토 준비 되었습니까?Percy에서 "Home as Guest"에 없는 글꼴

    토론 #16

    을 표시하기 때문에 구축을 다시 실행합니다.🎈

    좋은 웹페이지 즐겨찾기