Ere*_*CAY 5 ruby-on-rails-3.2 strong-parameters
我在Rails 3.2中使用了strong_parameters gem.为了测试图像上传过程,我有一个带参数的传入请求:
{"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"}
Run Code Online (Sandbox Code Playgroud)
如何允许图像属性进行分配?我试过了;
params.require(:photo).permit(:image)
Run Code Online (Sandbox Code Playgroud)
但它不起作用并说Validation failed: Image can't be blank
.
当我允许所有参数时params.require(:photo).permit!
它工作正常.
来自http://api.rubyonrails.org/classes/ActionController/Parameters.html
PERMITTED_SCALAR_TYPES = [ 字符串、符号、NilClass、数字、TrueClass、FalseClass、日期、时间、StringIO、IO、ActionDispatch::Http::UploadedFile、Rack::Test::UploadedFile ]
所以你只需要允许它作为标量类型:
params.require(:photo).permit(:image)
Run Code Online (Sandbox Code Playgroud)
刚刚测试过Rails 4.1.1
归档时间: |
|
查看次数: |
479 次 |
最近记录: |