0

レールの STI について質問がありますが、理解できないようです。

私は2つのモデルを持っています、order.rb

class Order < ActiveRecord::Base
    has_many :answers
end

answer.rb

class Answer < ActiveRecord::Base
    belongs_to :order
    attr_accessible :value, :input_id, :type
end

answer.rb次のようなSTIクラスもいくつかありますselect.rb

class Select < Answer
    validates presence: true
end

この理由は、さまざまな種類の回答に対してカスタムの検証と計算を行えるようにしたいからです。

各注文に関連付けられている回答に対して fields_for を作成しようとするまで、すべてが正常に機能します。フォームをレンダリングするときに、各 STI クラスを開始できます。ただし、フォームが送信されると、すべての回答が配列に格納され、すべての例ではなく、answers_attributesすべてと見なされます。class Answerclass Select

この問題をどのように解決できるかについて、誰かが考えましたか?

ありがとう!

4

1 に答える 1

0

問題が解決したかどうかわかりませんが、探しているのはbecomes?

Answer.last.becomes(Select)
于 2013-04-12T22:50:04.640 に答える