问题标签 [single-table-inheritance]
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 - Rails belongs_to 和单表继承没有表现
我有一个Bike
模型和一个Component
模型。几个模型继承自Component
: Frame
,Chain
等Crankset
。
当我提交表单时,我的参数如下所示:
在我的控制器中,以下代码中断:
如果我破解我的表单以生成以下参数,它会起作用:
这是我的模型:
单表继承正在工作 - 我可以毫无问题Frame.first
地调用。Component.all
我要疯了吗?嵌套参数不是通常的约定吗?这就是通过以下方式生成的:
我究竟做错了什么??
.net - 每个层次结构的单表映射错误
我得到了以下映射
和:
我收到以下错误
未找到 Module.CRM.Models.CallRecord 的鉴别器。
我没有指定一个鉴别器吗?
编辑
做了更多的研究:鉴别器不是我应该使用的。crm_call_records 中的 call_record_id 指向 call_records 中的 id。映射文件应该是什么样的?
ruby-on-rails - 单表继承中的 counter_cache
我想知道 counter_cache 是否可以在单表继承中工作。
对于这些模型:
那么以下计数器会起作用吗?
- 他们都工作
- 他们都没有工作
- 只
questions_count
工作 - 只有
simple_questions_count
和complex_questions_count
哪一个?我猜是第 3 个,但我还想要 4 个。如果不是 4,我如何使 4 起作用?
=== 更新 ===
这是一个例子:
所以现在我想要:
我的问题是,单表继承的基本行为是什么:counter_cache => true
,是否可以应用于单表继承?
ruby-on-rails - 带有has_many问题的Rails 3单表继承
我一直在尝试在 Rails 3 中设置单表继承模型,其中父类也包含 has_many 关系。不幸的是,我无法让它工作。下面以三个类为例:
这是用于设置的迁移:
当我以这种方式设置它并尝试创建一个新的 SportsArticle 时,请执行以下操作:
我总是收到以下错误:
“TypeError:无法将字符串转换为整数”
我不知道如何解决这个问题,并尝试在网上找到解决方案,但无济于事。有 STI 模型经验的人有没有发现任何问题?以下是有关 create 方法的文档的链接,如果它有助于诊断问题: http ://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-create
ruby-on-rails - 在 Rails 中使用单表继承创建单个创建表单
我在 Rails 中使用 STI,并且我有一个 Vehicle 对象,它有许多不同类型的子类,如 Car、Truck 等。它适用于一个简单的应用程序,所以 STI 在这种情况下可以正常工作,但我在创建可以创建任何类型车辆记录的单一表单时遇到问题。
使用以下路由:
我可以设置 /cars 和 /trucks 路由,并且都指向同一个表单。但是,由于表单指向车辆控制器,并为表单生成一个 Vehicle 对象,它无法知道 /cars url 应该创建一个 Car 对象。
我正在尝试设置一个路由系统,其中 /cars 将指向一个表单,该表单本质上知道使用 Car.new 甚至 Report.new(:type => "Car") 为表单创建一个对象。我考虑过使用像 /vehicles/:subclass 这样的路由系统,并以某种方式在控制器中使用 params[:subclass],但我也无法弄清楚如何进行这种路由并仍然避免由 Rails 引起的其他路由错误' STI 魔术。
我总是可以解析 URL 以获取值,但这似乎是一种不安全且不可靠的方法。
我很好奇是否有人对 Rails 方法有任何建议或经验。谢谢!
ruby-on-rails - 在 Rails 中使用 STI 时出现 ActiveRecord::SubclassNotFound 错误
我正在使用 Ruby on Rails 2.3.10。我有一堂课,School
. 我使用 STI 给我几个子类PrimarySchool
:SecondarySchool
和University
.
PrimarySchool.first
并按PrimarySchool.last
预期工作。SecondarySchool.first
并按SecondarySchool.last
预期工作。University.last
作品。
但是,University.first
并University.all
引发ActiveRecord::SubclassNotFound
异常:
生成的 SQL 是正确的:
我错过了什么/做错了什么?
ruby-on-rails - Rails 2.3 中的类继承或单表继承
我有以下场景,我不确定是否应该使用类继承或单表继承:
我想做的是让每个不同的列表类型成为不同的类,问题是如果我这样做,我需要将main_list_id
, known_list_id
, 和添加regular_list_id
到Word
对象/类中。这似乎很麻烦。我可以做类似的事情:
然后是这样的:
@user.main_list.find_by_name("MainList")
?
唯一的问题是有人可以命名一个RegularList
“MainList”。
ruby-on-rails - Rails STI 关联和嵌套资源
好的,所以我在这里有一个奇怪的模式,我无法弄清楚。
我有一个以 CallList 作为基本模型的 STI 集,并且继承了 City & State。一个城市属于一个州(一个州有很多城市)。
一个活动有很多通话清单,所以我想全部显示。我遍历campaign.call_lists,有时会得到Cities,有时会得到States。当我想链接到他们时,我会
如果我有这些路线,这很好用:
但是,当我在州内嵌套城市时,link_to 助手无法找出合适的路线。有没有一种简单的方法可以做到这一点,或者我将不得不做一些手动路径助手构建?
ruby-on-rails - rails:在创建期间尝试设置 STI 类型时无法批量分配给这些受保护的属性
我刚刚开始学习 rails 和 ruby,所以如果这太愚蠢,请多多包涵。
我的应用程序中有几种不同的 AppModule 类型,它们的行为不同但数据相似,因此我使用单表继承来保存它们。
但是,当尝试允许用户明确选择他们想要的类型时,app_modules/new.html.erb
我会收到警告WARNING: Can't mass-assign these protected attributes: type
。以下是相关代码:
我已经尝试attr_accessible :type
在模型文件中进行显式设置,但它不起作用
我正在使用 rails 2.3.8 和 ruby 1.8.7。
任何帮助都非常感谢,谢谢...
ruby-on-rails - 如果某些子类缺少模板,rails 将重定向到超类的模板
我在 Rails 项目中使用 Single-Table-Inheritance。而且我想知道是否可以通过在超类中实现它们来在子类之间共享一些通用功能的功能。
是否也可以回收超类的视图?还是应该为常用功能编写新视图?这不会很干燥。DRY 方法是什么?我应该编辑routes.rb
还是有另一种方法来动态完成这个?
最好的,E.