当前位置:  开发笔记 > 后端 > 正文

simple_form仅允许在文件存在时上载

如何解决《simple_form仅允许在文件存在时上载》经验,为你挑选了1个好方法。



1> Collin Grave..:

如果你正在寻找一些更冗长的东西,请告诉我,但最简单的实现只需在输入语句中添加一个必填字段:

<%= simple_form_for @business, html: { multipart: true } do |f| %>
      <%= f.simple_fields_for :attached_files, AttachedFile.new do |af| %>
        <%= af.input :file, as: :file, label: false, required: true %>
      <% end %>
      <%= f.button :submit,
                   'Upload File',
                   class: 'btn btn-mini btn-success hidden',
                   id: 'submit-file-upload' %>
<% end %>

此外,您将要确保您正在进行服务器端验证,因为它们实际上是唯一的具体验证(浏览器验证始终可以被篡改)

  def create
    @business = Business.new(business_params)

    unless params[:file].nil?
      if @business.save!
        redirect_to root_path
      else
        render :new
      end 
  end

最后,确保您的配置文件设置为处理浏览器验证:

SimpleForm.browser_validations = true

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有