我有一个名为$(".drop-sub > li ").click(function() {
$('li').not($(this).parentsUntil('#main-menu')).not($(this)).hide(400);
})
$('#showall').click(function() {
$('li,ul').show(400)
})
的抽象类和另一个名为<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='button' id='showall' value='Show All'>
<ul id="main-menu">
<li> <span class="main-menu-span">Menu Item 1</span>
<ul id="drop">
<li>Sub Menu Item A</li>
<li> <span class="drop-span">Sub Menu Item B</span>
<ul class="drop-sub">
<li>Drop Sub Menu Item B1</li>
<li>Drop Sub Menu Item B2</li>
</ul>
</li>
<li>Sub Menu Item C</li>
<li> <span class="drop-span">Sub Menu Item D</span>
<ul class="drop-sub">
<li>Drop Sub Menu Item D1</li>
<li>Drop Sub Menu Item D2</li>
</ul>
</li>
<li> <span class="drop-span">Sub Menu Item E</span>
<ul class="drop-sub">
<li>Drop Sub Menu Item E1</li>
<li>Drop Sub Menu Item E2</li>
</ul>
</li>
<li>Sub Menu Item F</li>
<li> <span class="drop-span">Sub Menu Item G</span>
<ul class="drop-sub">
<li>Drop Sub Menu Item G1</li>
<li>Drop Sub Menu Item G2</li>
</ul>
</li>
</ul>
</li>
</ul>
的类。在Work
模型中,我将其与Fanfic
和Fanfic
以及其他关联一起使用。我决定在添加更多类时更容易,它们将成为belongs_to :user
的子类,而不是将所有类型的工作作为完全独立的类。
现在我想知道我是否可以在has_many :characters
模型中编写所有作品中的关联,所有子类也保留所有这些关联。
对不起,如果它有点令人困惑。如果您需要澄清或需要查看我的代码,或者您是否需要任何其他信息,请告诉我。
答案 0 :(得分:3)
您不仅应该在Work
(超级)类中定义关联(并且它们可以在子类中使用),还应该对works
的所有子类使用Work
表。
Single Table Inheritance的典型案例。
要启用它,您只需将type
列添加到works
表(为其添加迁移)。
例如,当您查询Tales
时,Rails会创建以下SQL查询:
SELECT * FROM WORKS WHERE type='Tale';
在Rails文档中有关于这些概念的很好的(和consice)文章:http://api.rubyonrails.org/classes/ActiveRecord/Inheritance.html