{"image"=>#>, "sta-6ren">
gpt4 book ai didi

ruby-on-rails-3.2 - 如何使用强参数允许 Rack::Test::UploadedFile?

转载 作者:行者123 更新时间:2023-12-04 21:44:50 26 4
gpt4 key购买 nike

我在 Rails 3.2 中使用 strong_parameters gem。为了测试图像上传过程,我有一个传入的带有参数的 post 请求:

{"photo"=>{"image"=>#<Rack::Test::UploadedFile:0x000000069ce1f8 @content_type="image/png", @original_filename="test.png", @tempfile=#<Tempfile:/tmp/test.png20130420-9529-1xuka4v-1>>, "status"=>"approved", "in_use"=>false}, "controller"=>"member/photos", "action"=>"create"}

如何允许分配图像属性?我试过;
params.require(:photo).permit(:image)

但它不起作用并说 Validation failed: Image can't be blank .

当我使用 params.require(:photo).permit! 允许所有参数时它工作正常。

最佳答案

来自 http://api.rubyonrails.org/classes/ActionController/Parameters.html

PERMITTED_SCALAR_TYPES = [ String, Symbol, NilClass, Numeric, TrueClass, FalseClass, Date, Time, StringIO, IO, ActionDispatch::Http::UploadedFile, Rack::Test::UploadedFile]



所以你只需要允许它作为标量类型:
params.require(:photo).permit(:image)

刚刚在 Rails 4.1.1 上测试过

关于ruby-on-rails-3.2 - 如何使用强参数允许 Rack::Test::UploadedFile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16120375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com