【发布时间】:2013-04-12 19:19:19
【问题描述】:
我有一个关于 Rails 中的 STI 的问题,我似乎无法理解。
我有两个模型,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 Answer 而不是例如class Select。
有人知道我该如何解决这个问题吗?
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 validation single-table-inheritance