2

私のアプリケーションには、コンサルタント、プロジェクト、予定の 3 つのモデルがあります。simple_form gem でネストされたフォームを使用しています。

class Consultant < ActiveRecord::Base
  has_many :appointments
end

class Project < ActiveRecord::Base
  has_many :appointments, :dependent => :destroy
  accepts_nested_attributes_for :appointments, :allow_destroy => true
end

class Appointment < ActiveRecord::Base
  belongs_to :consultant
  belongs_to :project
end

私のフォームは次のとおりです。

= simple_nested_form_for(@project) do |f| 

  %div.field
    = f.input :name, :label => 'Nom du projet'
    = f.simple_fields_for :appointments do |builder|
      = render 'appointment_fields', :f => builder
    = f.link_to_add "ajouter un consultant", :appointments

  %div   
  %div.actions
    = f.submit

部分的に:

%p.fields
  = f.input :consultant_id, :input_html => { :class => 'special' }
  = f.association :consultant
  = f.input :nb_days, :input_html => { :class => 'special',:size => 10  }
  = f.input :rate, :input_html => {:size => 10}
  = f.link_to_remove "Remove this task"

simple_form でこれと同じくらい簡単なことをすることは可能ですか? 答えはイエスです: うまく動作します

4

1 に答える 1

2

エラーは、モデル Appointment にコンサルタントという関連付けがないためです。代わりにコンサルタントを使用してください。

于 2011-07-28T13:48:20.193 に答える