Ruby on rails 使用带有单表继承的接受\u嵌套的\u属性\u

Ruby on rails 使用带有单表继承的接受\u嵌套的\u属性\u,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,我有一个模型Post,它属于一个部分。有两个不同的Section子类,我使用STI为每个子类实现不同的行为。在Post表单中,我希望每个部分都有一个选项卡。该选项卡将允许用户A)使用A从现有的节中选择,或B)允许用户创建新的节。我想知道如何使用接受的嵌套属性和的字段,或者通过Rails的方式来完成这项工作 非常感谢您的建议。谢谢。假设选项卡对应于这两个子类 class Post # the two subclasses. Each instance will only be using on

我有一个模型
Post
,它
属于一个
部分
。有两个不同的
Section
子类,我使用STI为每个子类实现不同的行为。在
Post
表单中,我希望每个
部分都有一个选项卡。该选项卡将允许用户A)使用A
从现有的
节中选择,或B)允许用户创建新的
节。我想知道如何使用
接受
的嵌套属性和
字段,或者通过Rails的方式来完成这项工作


非常感谢您的建议。谢谢。

假设选项卡对应于这两个子类

class Post
  # the two subclasses. Each instance will only be using one or the other
  belongs_to :section_foo
  belongs_to :section_bar

  accepts_nested_attributes_for :section_foo
  accepts_nested_attributes_for :section_bar
end
在视图中(可能每个选项卡一次)

这应该能让你达到85%的目标。您可能需要一些:如果bidness在accepts上拒绝u,以避免创建新节和分配旧节

= form_for @post do |f|
  = f.select :section_id, SectionFoo.all # etc
  = fields_for @post.build_section_foo do |s|
    = s.text_field :bla_bla_bla