accepts_nested_attributes_for не работает правильно - PullRequest
1 голос
/ 02 января 2012

У меня есть модель work_order и модель одометра. Я пытаюсь добавить показания одометра для каждого рабочего задания, но мне также нужно иметь возможность добавлять показания одометра без привязки к нему рабочего задания.

У меня есть такие настройки моделей:

#odometer.rb
class Odometer < ActiveRecord::Base
  has_one :work_order
  accepts_nested_attributes_for :work_order
end

#work_order.rb
class WorkOrder < ActiveRecord::Base
  belongs_to :odometer
end

У меня есть настройки формы, такие как:

    = form_for @work_order do |f|
      = f.label :created_at, "Start Date"
      = f.text_field :created_at, :class => "datepicker", :value => @work_order.created_at.nil? ? '' : @work_order.created_at.strftime('%Y-%m-%d')
      %br
      = f.label :number, "Work Order #"
      = f.text_field :number
      %br 
      = f.label :complete_date, "Finish Date"
      = f.text_field :complete_date, :class => "datepicker", :value => @work_order.complete_date.nil? ? '' : @work_order.complete_date.strftime('%Y-%m-%d')
      %br
      = f.label :mechanic_id
      = f.collection_select :mechanic_id, @mechanics, :id, :display_name

      = f.fields_for :odometer do |o|
        = o.label :mileage
        = o.number_field :mileage
      = f.label :equipment_id
      = f.collection_select :equipment_id, @all_equipment, :id, :name

      = f.label :description
      = readable_text_area f, :description, :style => "width:630px;height:100px;"

      = f.submit 'Save'

Я не могу получить это, чтобы спасти одометр. Я уверен, что делаю что-то не так, но не могу понять.

Спасибо за любую помощь.

Toby

1 Ответ

1 голос
/ 06 января 2012

Похоже, форма немного задом наперед. Следуя моделям, Odometer принимает вложенные атрибуты для WorkOrder. Но форма говорит мне, что это наоборот.

Оформить заказ Railscast http://railscasts.com/episodes/196-nested-model-form-part-1

...