Флажок Сохранить файл Rails - PullRequest
       6

Флажок Сохранить файл Rails

0 голосов
/ 04 августа 2011

Как я могу сделать так, чтобы моя информация сохранялась, только если установлен флажок. Вот что у меня есть:

<% @extra.each do |extra| %>
  <%= f.fields_for :purchaseds do |builder| %>
    <div class="label-field">
      <%= builder.label :name, extra.name %>
      <p><%= extra.description %></p>
    </div>
    <div class="text-field">
      $<%= extra.price %>
      <%= builder.check_box :purchased %>
    </div>

    #I WOULD LIKE THIS TO ONLY GET SAVED IF THE CHECK BOX FOR PURCHASED IS CHECKED
    <%= builder.hidden_field :name, :value => extra.name %>
    <%= builder.hidden_field :description, :value => extra.description %>
    <%= builder.hidden_field :price, :value => extra.price %>  
  <% end %>
<% end %>

Мой клиент попросил, чтобы он мог добавить дополнительные услуги сам, и тогда пользователи могли бы выбрать, хотят ли они приобрести их как аксессуары для своего заказа. Итак, я сделал таблицу «Extra» (для дополнительных услуг) и другую таблицу «Покупал». Купленный принадлежит Заказу и является вложенным атрибутом.

1 Ответ

1 голос
/ 04 августа 2011

В вашей купленной модели добавьте проверки:

  validates_presence_of :name, :description, :price, :if => :purchased

Обновление

Добавьте опцию :reject_if к вашей купленной родительской модели в

accepts_nested_attributes_for :purchaseds, :reject_if => {|attrs| !attrs[:purchased]}
...