我按照Transloadit Rails GitHub page上的教程进行了操作,但在提交表单时没有收到警告:Could not find input[name=params] in your form
.在我点击“确定”后,Transloadit迅速抛出INVALID_FORM_DATA: bad form data, cannot parse
,数据从未击中我的服务器。
我的应用程序正在使用Rails 4.1.4
和jquery-rails 2.1.4
。
这是我的表格:
= form_for @profile, url: community_add_photo_path(@profile), html: {id: 'photo_form'} do |f|
= render 'shared/error_messages', object: f.object
= transloadit :profile_photo
= hidden_field_tag 'transloadit_template', 'profile_photo'
%table.list
%tr
%td.faded.label Photo Filename
%td= f.file_field :photo, required: true
%tr
%td
%td= f.submit 'Upload'
= transloadit_jquerify :photo_form, wait: true
还有我的transloadit.yml
文件:
development:
jquery_sdk_version: 'latest'
auth:
key: 'key'
secret: 'secret'
duration: 1800 # 30 minute validity period for signed upload forms
templates:
profile_photo:
steps:
resize:
height: 256
resize_strategy: 'fillcrop'
robot: '/image/resize'
width: 256
store:
bucket: 'bucket-name'
key: 'key'
path: 'temp/${assembly.id}/${file.name}'
robot: '/s3/store'
secret: 'secret'
有什么建议吗?谢谢!
2条答案
按热度按时间kjthegm61#
我假设你在控制器里有params解码器,这是我有的,它能工作,但是现在要用jquery,因为我不能控制正在发生的事情。
t9aqgxwy2#
问题是您实际上并没有将正确的表单数据发布到API,以便正确解析。
https://transloadit.com/docs/api/response-codes/
提供:NO_PARAMS_FIELD未提供参数字段。
这样做非常有意义,因为您没有将params字段也传递给API,而在使用transloadit的jquery方法时会用到该API
因此,创建参数以发送到API以使transloadit工作的方式存在问题。