问题标签 [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.

0 投票
1 回答
642 浏览

ruby-on-rails - Rails belongs_to 和单表继承没有表现

我有一个Bike模型和一个Component模型。几个模型继承自Component: Frame,ChainCrankset

当我提交表单时,我的参数如下所示:

在我的控制器中,以下代码中断:

如果我破解我的表单以生成以下参数,它会起作用:

这是我的模型:

单表继承正在工作 - 我可以毫无问题Frame.first地调用。Component.all

我要疯了吗?嵌套参数不是通常的约定吗?这就是通过以下方式生成的:

我究竟做错了什么??

0 投票
1 回答
515 浏览

.net - 每个层次结构的单表映射错误

我得到了以下映射

和:

我收到以下错误

未找到 Module.CRM.Models.CallRecord 的鉴别器。

我没有指定一个鉴别器吗?

编辑

做了更多的研究:鉴别器不是我应该使用的。crm_call_records 中的 call_record_id 指向 call_records 中的 id。映射文件应该是什么样的?

0 投票
2 回答
1426 浏览

ruby-on-rails - 单表继承中的 counter_cache

我想知道 counter_cache 是否可以在单表继承中工作。

对于这些模型:

那么以下计数器会起作用吗?

  1. 他们都工作
  2. 他们都没有工作
  3. questions_count工作
  4. 只有simple_questions_countcomplex_questions_count

哪一个?我猜是第 3 个,但我还想要 4 个。如果不是 4,我如何使 4 起作用?

=== 更新 ===

这是一个例子:

所以现在我想要:

我的问题是,单表继承的基本行为是什么:counter_cache => true,是否可以应用于单表继承?

0 投票
2 回答
892 浏览

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

0 投票
1 回答
612 浏览

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 方法有任何建议或经验。谢谢!

0 投票
2 回答
3910 浏览

ruby-on-rails - 在 Rails 中使用 STI 时出现 ActiveRecord::SubclassNotFound 错误

我正在使用 Ruby on Rails 2.3.10。我有一堂课,School. 我使用 STI 给我​​几个子类PrimarySchoolSecondarySchoolUniversity.

PrimarySchool.first并按PrimarySchool.last预期工作。SecondarySchool.first并按SecondarySchool.last预期工作。University.last作品。

但是,University.firstUniversity.all引发ActiveRecord::SubclassNotFound异常:

生成的 SQL 是正确的:

我错过了什么/做错了什么?

0 投票
1 回答
398 浏览

ruby-on-rails - Rails 2.3 中的类继承或单表继承

我有以下场景,我不确定是否应该使用类继承或单表继承:

我想做的是让每个不同的列表类型成为不同的类,问题是如果我这样做,我需要将main_list_id, known_list_id, 和添加regular_list_idWord对象/类中。这似乎很麻烦。我可以做类似的事情:

然后是这样的:

@user.main_list.find_by_name("MainList")?

唯一的问题是有人可以命名一个RegularList“MainList”。

0 投票
1 回答
686 浏览

ruby-on-rails - Rails STI 关联和嵌套资源

好的,所以我在这里有一个奇怪的模式,我无法弄清楚。

我有一个以 CallList 作为基本模型的 STI 集,并且继承了 City & State。一个城市属于一个州(一个州有很多城市)。

一个活动有很多通话清单,所以我想全部显示。我遍历campaign.call_lists,有时会得到Cities,有时会得到States。当我想链接到他们时,我会

如果我有这些路线,这很好用:

但是,当我在州内嵌套城市时,link_to 助手无法找出合适的路线。有没有一种简单的方法可以做到这一点,或者我将不得不做一些手动路径助手构建?

0 投票
3 回答
1855 浏览

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。

任何帮助都非常感谢,谢谢...

0 投票
1 回答
359 浏览

ruby-on-rails - 如果某些子类缺少模板,rails 将重定向到超类的模板

我在 Rails 项目中使用 Single-Table-Inheritance。而且我想知道是否可以通过在超类中实现它们来在子类之间共享一些通用功能的功能。

是否也可以回收超类的视图?还是应该为常用功能编写新视图?这不会很干燥。DRY 方法是什么?我应该编辑routes.rb还是有另一种方法来动态完成这个?

最好的,E.