2017-10-02 3 views
0

나는 User이며 모든 사용자는 하나의 Contact 항목을 가져야합니다 (단, 모든 연락처에 사용자가 있어야하는 것은 아닙니다). 사용자는 중첩 된 양식을 통해 연락처를 만들 수 있지만 그 사실에 만족하지 않습니다.ActiveAdmin 자동 중첩 항목 하나 생성

내가 새로 User으로 갈 때 자동으로 첫 번째 것을 만들고 더 많은 연락처 항목을 추가 할 수 없게 설정하려면 어떻게해야합니까?

답변

0

몇 가지 검색을 한 후에 나는 대답을 찾았으며 두 단계로 나옵니다.

첫 번째로 중첩 된 항목이 먼저 만들어 지도록하려면 먼저 컨트롤러의 새 메서드를 재정의하고 먼저 원하는 모든 하위 항목을 초기화해야합니다. 이렇게하면 중첩 된 항목이 만들어지고 페이지가 렌더링됩니다 . 예제로 내 질문을 사용

, 당신은 이런 식으로 할 것 : #new_user가 이름 인 상태

#new_user .has_many_remove { 
    display: none; 
} 

:

controller do 
    def new 
    @user = User.new 
    @user.contact = Contact.new 
    new! 
    end 
end 

두 번째는 당신의 active_admin의 CSS 파일에 다음을 추가하는 것입니다 내 양식의 이름으로 대체하십시오.

ActiveAdmin에 대한 github 문제에서 대답 here이 발견되었습니다.