0

Match を使用して Student を作成するのはどちらもモデルであり、Student の値を Match 内に格納したいと考えています。これにどのようにアプローチする必要がありますか?

デリゲートを試しましたが、一致が空であるというエラーがスローされます。アイデアはありますか? ありがとう!

ユーザーモデル:

class Student < ActiveRecord::Base

  attr_accessible :name, :level

  has_one :match
  before_create :setup_match

  def setup_match
    self.create_match # create the match that belongs to this student
  end


end

マッチモデル:

class Match < ActiveRecord::Base

  belongs_to :student
  attr_accessible :initiated, :level

  before_save :default_values

  def default_values
    # HERE is the problem
    # Need to store student.name and student.level here, how?
    self.initiated = student.name
    self.level = student.level
  end


end
4

1 に答える 1

1

Student の Match の設定値を移動する必要があります。次のようなものです (テストされていません)。

class Student < AR::Base
  has_one :match
  accepts_nested_attributes_for :match

  before_create :setup_match

  def setup_match
    build_match(:initiated => name, :level => level)
  end
end
于 2013-05-31T23:53:14.600 に答える