Permit 的未知属性 'utf8'
Unknown attribute 'utf8' for Permit
我在 ActiveAdmin 控制器内部工作。我正在尝试传递我的 permitted_params 以及当前日期和当前登录的用户。但是,每当我提交时,我都会收到 Unknown attribute 'utf8' for Permit
错误。
admin/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
有人知道我为什么会收到这个错误吗?我在正常的 rails 应用程序中没有收到此错误,它是 运行 几乎相同的代码。谢谢
编辑
这是应用程序跟踪
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"}
我用postman的时候出现这个错误。
设置 headers : enctype
multipart/form-data; charset=utf-8
我会避免使用 Permit 作为模型名称,请尝试使用 VehiclePermit。
ActiveAdmin 有自己的 permit_params 强参数宏,参见 https://activeadmin.info/2-resource-customization.html。有一个名为 :permitted_params 的命名空间设置,默认情况下包括 :utf8,因此我不会将其用作控制器方法名称。
我在 ActiveAdmin 控制器内部工作。我正在尝试传递我的 permitted_params 以及当前日期和当前登录的用户。但是,每当我提交时,我都会收到 Unknown attribute 'utf8' for Permit
错误。
admin/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
有人知道我为什么会收到这个错误吗?我在正常的 rails 应用程序中没有收到此错误,它是 运行 几乎相同的代码。谢谢
编辑
这是应用程序跟踪
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"}
我用postman的时候出现这个错误。
设置 headers : enctype
multipart/form-data; charset=utf-8
我会避免使用 Permit 作为模型名称,请尝试使用 VehiclePermit。
ActiveAdmin 有自己的 permit_params 强参数宏,参见 https://activeadmin.info/2-resource-customization.html。有一个名为 :permitted_params 的命名空间设置,默认情况下包括 :utf8,因此我不会将其用作控制器方法名称。