2017-11-27 1 views
1

ActiveAdmin 컨트롤러 내부에서 작업하고 있습니다. 내 permitted_params뿐만 아니라 현재 날짜와 현재 로그인 한 사용자를 전달하려고합니다. 그러나 제출할 때마다 Unknown attribute 'utf8' for Permit 오류가 발생합니다./permit.rb알 수없는 특성 'utf8'에 대한 허가

form do |f| 
    f.inputs do 
     f.input :vehicle, :collection => Vehicle.all.map{ |vehicle| [vehicle.license_number]} 
     f.input :permit_id 
     f.input :date_issued, as: :date_picker 
     f.input :issued_by 
    end 
    f.actions 
end 

controller do 
    def new 
     @permit = Permit.new 
     @vehicle = @permit.build_vehicle 
    end 

    def create 
     #@permit = Permit.new 
     vehicle = Vehicle.find_by(permitted_params[:vehicle]) 
     @permit = current_user.permit.build(permitted_params.merge(date_entered: Date.today, 
      entered_by: current_admin_user.email)) 
     @permit.update(vehicle: vehicle) 
     super 
    end 

    def permittted_params 
     params.require(:permit).permit(:permit_id, :date_issued, :issued_by, :date_entered, :entered_by, vehicle_attributes: [:license_number]) 
    end 

    def set_permit 
     @permit = Permit.find(params[:id]) 
    end 
end 

누구나 알고

관리자는 왜이 오류는 무엇입니까? 내 일반적인 레일 애플 리케이션 내부에이 오류가 발생하지 않으며 거의 ​​동일한 코드를 실행하고 있습니다. 감사합니다

편집 여기

내가 우체부를 사용했을 때이 오류가 발생한 응용 프로그램 추적

app/admin/permit.rb:61:in `create' 
Request 

Parameters: 

{"utf8"=>"✓","authenticity_token"=>"zw3Px+gEOvp2UDufgiBNyG0yShTHQYBIsOK+WWj7wiYkMNkR3aLku5TMBxK5b0mQoZvKr+w6YgYZVPGxURtH0A==", 
"permit"=>{"permit_id"=>"ST-5555", "date_issued"=>"2018-11-24", 
"issued_by"=>"Nate"}, 
"commit"=>"Create Permit"} 
+0

이 https://github.com/activeadmin/activeadmin/issues/2817 – jemonsanto

+0

과 관련이 있습니다. 그래서 그것을 살펴보고 allow_params에': utf8'을 전달하려고 시도하고 있지만 여전히 오류. –

답변

1

Permit을 모델 이름으로 사용하지 않으려면 VehiclePermit을 사용해보십시오.

ActiveAdmin에는 강력한 매개 변수에 대한 자체 permit_params 매크로가 있습니다 (https://activeadmin.info/2-resource-customization.html 참조). allowed_params라는 네임 스페이스 설정이 있습니다. utf8은 기본적으로 컨트롤러 메서드 이름으로 사용하지 않습니다.

+0

모든 모델 이름이 실제로 변경되도록했습니다. 차량 허가. 그러나 내 UTF8 문제에 대한 해결책을 알고 있습니까? 나는 아직도 그것을 작동시킬 수 없기 때문에. –

+0

답장을 연장했습니다. –

+0

그게 전부 였어. 당신의 도움을 주셔서 대단히 감사합니다! 내'permitted_params'에서 마지막'[: vehicle_permit]'을 그냥 지나치 지 않고있었습니다. –

0

입니다. 머리글 설정 : enctypemultipart/form-data; charset=utf-8

+0

어디에서 할 수 있습니까? 그냥 AA 페이지 상단에 놓아야합니까? –

+0

컨트롤러에 요청을 보내는 방법은 무엇입니까? –

+0

그래서 AA 컨트롤러의 create 메서드에 해당 문을 추가하고 있습니까? –

관련 문제