activeadmin에서 create를 덮어 써야하는 상황이 있습니다. 필드를 자동 완성하고 데이터가 이미 존재하면 업데이트해야합니다. 여기 내 생성 방법 :컨트롤러를 재정의 한 후 activeadmin 양식에 오류를 표시하는 방법
def create
id = params[:company].dig(:id)
if id.present?
@company = Company.find(id)
if @company.update(permitted_params[:company])
redirect_to resource_url
flash[:notice] = 'Company created successfully'
else
#add errors to semantic errors
end
else
new_permitted_params = permitted_params[:company].except(:id)
@company = Company.new(new_permitted_params)
@company.save
if @company.errors.any?
#add this to semantic errors so that activeadmin handles and displays the errors
end
end
end
나는 그/그녀가 잘못된 항목을 입력 한 경우 사용자가 알 수 있도록 검증을 위반 오류를 표시합니다.
나는 this을 찾았지만 해결 방법 이상의 해결책이 될 것 같습니다. 이 문제를 해결하도록 도와주세요.
미리 감사드립니다.
내가 왜 이런 짓을했는지 설명해 드리겠습니다. 이 양식에 자동 완성 기능을 적용했으며 수신중인 모든 필드를 설정하고 있습니다. 이것이 바로 논리가 작용하는 부분입니다. ID가 설정되면 (자동 완성시 오브젝트를 선택하지 않은 경우는 아님), 그렇지 않으면 업데이트를 작성하십시오. – UsamaMan