问题标签 [sti]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - STI 和虚拟属性继承 (Rails 2.3)
假设我有一个 STI 关系,其中 Commentable 是超类,而 NewsComment 是子类。在可评论我有:
在新闻评论中:
实例化 NewsComment 时,不会继承 VA self.opinionated。这是为什么?你怎么能“强制”NewsComment 继承自 Commentable?
ruby-on-rails - Rails STI mysql 查询不使用“类型”列
我有以下型号:
问题是,当我查找标记或Metting 的“标签”或“术语”时,我会得到该标记或Metting 的所有“标签”和“术语”。例如:
在这种情况下,Metting 只有一个与之关联的术语而不是标签。rails 生成的查询没有使用“Metum”中的“type”列来区分标签和术语。有什么想法可以解决这个问题,以便在上述调用中只返回标签和术语?
谢谢。
sql - 在这种情况下可以使用 STI 吗?
我有一个名为people
Each的表,person
可以是 a client
、 a manager
、 anaccountant
或三者的任意组合。除了表中的列之外,它们中的每一个都有特殊的表列people
。
我现在正在做的是person_id
在每个表中使用 a ......但我认为只使用同一个表和每个表的不同模型会简单得多,所以我可以单独管理它们。
我应该这样做吗?
ruby-on-rails - Rails 单表继承 (STI):对派生模型的依赖
我即将在我的 Rails 2.3 应用程序中使用 STI。
我已经按照以下方式对其进行了建模:
基类:
它的子类:
当我尝试创建一个form_for :tariff时,我得到了一个未定义的方法 `tariffing_periods' 用于 Tariff。我应该如何对这种情况进行建模?我应该把 has_many 关联放在父类上吗?
ruby-on-rails - 关于 STI 实施的两个简单问题
我正在为我的用户模型使用 STI。我有一个用户类,以及卖方和客户的子类。用户不能两者兼有,所以我认为 STI 适合这种情况。我有两个问题:
如何限制用户实例的创建,以便只能创建卖家或客户?我想我可以验证 Type 的存在,但这对我来说感觉不太对。
我可以为 STI 的卖家和客户提供额外的不同字段吗?如何?
ruby-on-rails - Rails:STI 结构中的子类需要多态关联?
我正在做一个爱好项目,并且有一个Event
带有 STI 子类Meal
, Outing
,Medication
等的抽象模型。Event
父模型有start_time
, end_time
,description
等。
我想为各种子类提供嵌套资源。例如,我希望能够将类的多个实例附加Image
到任何子Event
类。我希望能够将Medicine
类的多个实例附加到Medication
实体、 to 的多个实例Location
等Outing
。
我考虑多态性的原因是为了提供灵活性,以便可以想象,任何不同类型的嵌套资源都可以附加到的任何子类上,Event.
这将允许某人将“维生素 D 补充剂”的药物附加到 aMeal
上,例如.
我的问题是:
- 嵌套资源应该是多态的吗?
- 如果我使它们成为多态的,所有实例都会包含
Event
在类型表中吗? - 如果是这样,我应该让他们
has_many
建立关系吗? - 使它们
has_many
与多态相比有什么性能优势吗?
ruby-on-rails - 在创建视图和控制器时访问 STI 类型
大家好,我有一个 2 模型客户和膳食。
客户端.rb
膳食.rb
意见/客户/_form.html.erb
当我保存膳食类型时,它不会出现在客户端的 index.html.erb 上(它是空白的)。问题是什么?如何通过使用以下控制器为他提供膳食类型(例如“午餐”)来创建客户:
ruby-on-rails - Rails、STI 和“成为” - f.object.errors 未显示在视图中
我的问题是:为什么不.becomes
将错误传递给新对象?这不是预期的行为吗?
我在 Rails 应用程序中有以下单表继承类:
我想使用相同的控制器和一组视图来编辑LegalDocument
s 和MarketingDocument
s,所以我使用DocumentsController < ApplicationController
以下edit
和update
操作:
在我edit
看来,以下几点:
- 如果填写了标题,则文档会正确更新。
- 如果标题留空,我将返回编辑视图,但未显示错误。
从调试中,我知道它没有显示,因为它f.object.errors
是 nil。 但是,从调试中,我也知道@document.errors
不是 nil,正如预期的那样。
我的问题是:为什么不.becomes
将错误传递给新对象?这不是预期的行为吗?
ruby-on-rails - Rails Sti:单路径,不同的控制器
有性病课程:
每个类的控制器,
和路由:
如何在单个路径上通过 FirstTypePageController 处理 FirstTypePage,通过 SecondTypePageController 处理 SecondTypePage?
IE
user/1/page/2 由:如果“page 2”类型为“FirstTypePage”,则由 FirstTypePageController 处理,如果“page 2”类型为“SecondTypePage”,则由 SecondTypePageController 处理?
更新:我的解决方案:
我认为这个解决方案可以在少量页面类型上快速运行,并且我们可以管理内存大小,用于大量页面上的路由
ruby-on-rails-3 - 带有 has_many 的 Rails 和 STI 无法识别子类
我有以下内容:
所以,一个系列有很多组件,一个组件属于一个系列。我使用 STI 将组件分为 Bases、Shafts 和 Capitals。
但是,当我想列出属于系列的组件时,按组件类型我得到
也许我错过了关于 Rails 和 STI 的一些非常基本的东西。这应该工作吗?(注意,我在表上有一个类型列,其中包含类。我在初始化文件中“需要”子类定义,正如 Stackoverflow 上其他地方所建议的那样)