如果我使用模型验证表单,则不会保留附加的图像。我们使用paperclip gem'Paperclip',“〜> 3.4.0”。我按照以下步骤操作。
步骤: 表单中包含字段 COMPANY_NAME(强制) 地点, OBJECT_TYPE, object_size(强制)和 附件(强制性的)。
1.填写字段company_name(必填),location,object_type并附加图像 2.不填写具有模型验证的object_size(必需)。 3.单击提交并显示模型验证,但附加的图像消失。
(注意:如果在第一次正确保留图像时正确填写表格并存储在s3数据库中)
任何人都可以帮助我。
答案 0 :(得分:3)
您只需要表单中的文件字段,其他三个默认回形针对象属性不需要表单字段,并通过图像上的元数据标记进行设置。
<p>
<%= f.label :avatar, "Select Profile Picture*" %><br />
<%= f.file_field :avatar %>
</p>
要验证在您的模型中使用此功能:
validates :avatar, :attachment_presence => true,
:attachment_content_type => { :content_type => [ 'image/png', 'image/jpg', 'image/gif', 'image/jpeg' ] }
答案 1 :(得分:0)
您不能为文件字段分配值,这是一个安全风险
示例:
<form id="bad_form" action="/my_url">
<input type="file" value="/Users/bob/my_very_secret_file.txt">
</form>
<script>
$('#bad_form').submit();
</script>