【问题标题】:Rails: prevent submitting form if field is blankRails:如果字段为空,则阻止提交表单
【发布时间】:2013-03-27 09:51:49
【问题描述】:

我正在创建产品页面,用户可以在其中上传多张产品照片。为了创建和编辑产品,我正在渲染一个表单文件。对于上传照片,我使用了nested_fields 以产品形式的照片。表单中的照片代码如下所示:

<%= f.fields_for :photos do |photo| %>
   <%= image_tag photo.object.avatar.url(:thumb), unless f.object.new_record? or photo.object.new_record? %>
   <%= photo.file_field :avatar, :style => "none" %>
   <%= photo.link_to_remove "Remove"%>
<% end %>
<%= f.link_to_add 'Add Photos', :photos, "data-association-insertion-node"=> ".photos",   "data-association-insertion-position" => "append", "data-type" => "link"%> 

在产品模型中,

has_many :photos, :as => :attachable, :dependent => :destroy
accepts_nested_attributes_for :photos, :allow_destroy => true

当用户创建产品时,我使用了验证照片的存在。因此,用户必须上传照片。这部分工作正常。

在照片模型中:

validate :validates_account_avatar

但问题在于编辑。用户可以删除所有照片。在这里,我想阻止用户删除所有照片。

如何在提交编辑后的产品时通知用户照片字段不能为空或至少应存在一张照片。

我试过用这个:

accepts_nested_attributes_for :photos, :allow_destroy => true, :reject_if => lambda { |a| a[:avatar].blank? }

但没用。

救命!

【问题讨论】:

    标签: ruby-on-rails-3.2 validation paperclip nested-attributes paperclip-validation


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 2020-06-01
      • 2017-11-18
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      • 2012-06-26
      相关资源
      最近更新 更多