0
사용자가 두 개 이상의 제품 사진을 업로드 할 수있는 제품 페이지를 만듭니다. 제품을 만들고 편집하려면 양식 파일을 렌더링 중입니다. 사진을 업로드 할 때 제품 양식의 사진에 nested_fields를 사용했습니다. 레일 : 필드가 비어있는 경우 양식 제출 방지
has_many :photos, :as => :attachable, :dependent => :destroy
accepts_nested_attributes_for :photos, :allow_destroy => true
사용자가 제품을 만들어
, 내가 사진의 존재에 대해 유효성 검사를 사용하고, 제품 모델에<%= 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"%>
: 여기 형태로 사진 코드처럼 보이는 방법이다. 따라서 사용자는 사진을 업로드해야합니다. 이 작품은 제대로 작동하고 있습니다. 사진 모델에서
:
validate :validates_account_avatar
그러나 문제는 편집입니다. 사용자가 모든 사진을 삭제할 수 있습니다. 여기 나는 사용자가 모든 사진을 삭제하지 못하게하려고합니다.
편집 된 제품을 제출할 때 사진 필드를 비워 둘 수 없거나 최소한 하나의 사진이 있어야 함을 사용자에게 알리는 방법.
accepts_nested_attributes_for :photos, :allow_destroy => true, :reject_if => lambda { |a| a[:avatar].blank? }
하지만 사용 :
나는 이것을 사용하려고 노력했다.도움말!