2017-11-27 8 views
1

私はActiveAdminコントローラの内部で作業しています。私はpermitted_pa​​ramsと現在の日付とログインしている現在のユーザーを渡そうとしています。しかし、私が送信するたびに、私はUnknown attribute 'utf8' for Permitエラーが発生しています。私はこのエラーを取得していますなぜ誰もが知っている不許可の属性 'utf8'が許可のため

管理/ permit.rb

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

私はそれを見ていて、私は 'allowed_pa​​rams 'に':utf8'を渡そうとしていますが、私はまだエラー。 –

答えて

1

私はモデル名として許可を避けるため、VehiclePermitを試してみてください。

ActiveAdminが強いパラメータのために、独自のpermit_paramsマクロを持って、https://activeadmin.info/2-resource-customization.htmlを参照してください。名前空間設定には、permitted_pa​​ramsという名前があります。これには、デフォルトではutf8が含まれているので、コントローラメソッド名としては使用しません。

+0

私のモデル名はすべて変更しました。車両パーペット。しかし、私のUTF8問題の修正を知っていますか?私はまだそれを働かせることができないので。 –

+0

私の返信を延長しました。 –

+0

それでした。ご助力ありがとうございます!私は 'permitted_pa​​rams'で最後の' [:vehicle_permit] 'を渡していませんでした。 –

0

です。 ヘッダーを設定:enctypemultipart/form-data; charset=utf-8

+0

私はそれをどこで行うのですか?それをAAページの一番上に置くだけですか? –

+0

リクエストをコントローラに送信する方法は? –

+0

私はそのステートメントをAAコントローラのcreateメソッドに追加していますか? –

関連する問題