问题标签 [has-many-through]
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 - 将 has_many 和 :belongs_to 转换为 has_many :through
我目前有一个协会,其中:
Group :has_many Employees
和Employee :belongs_to Group
但现在我希望员工也与许多组相关联。
为此,我正在考虑制作:
groupizations group_id:integer employee_id:integer created_at:datetime
这将改变 Employee 和 Group 模型:
我从多对多的railscasts 插曲中了解了所有这些。我唯一感到困惑的是,现在我使用以下代码创建了一个新员工:
这段代码将如何改变?我现在需要同时添加数据groupizations
吗?
ruby-on-rails - 如何在 Rails 中使用 ActiveRecord 获取一条记录而不是重复记录?
我有一个模型如下:
与同一家公司有很多联系。我只想要每家公司的一个实例。
我尝试了以下方法:
但这向我展示了我相信的每个联系人的所有公司。至少这是输出的样子。
如何确保只添加一个公司实例?
ruby-on-rails - 如何使用 :through 选项声明 has_many 关联的特定键?
我有一个联想:
一个作者有很多书;一本书有很多作者;
我需要使用:通过选项(通过一个名为“关系”的表,有两列名为“left_id”(用作author_id)和“right_id”(用于广告book_id);
在控制台中:
那么,我如何将 'book_id' 指定为 'right_id'?(有没有像 'foreign_key' 这样的选项?)
ruby-on-rails - has_many 的问题:through、cache、touch 和 counter_cache
我的应用程序中有很多 has_many :through 关系。我正在扩展显示与此相关的信息,例如连接对象的数量。每当用户更新关系时,连接表都会被修改,我可以捕捉到我的 Sweepers。
问题是,连接表条目被删除,而不是被破坏。如果关系消失了,我就没有合理的方法来检测这一点,并且我正在从缓存中显示误导性信息。:touch => true 或 :counter_cache => true 之类的所有内容都可以部分工作。如果更新或创建关系,它会增加。但是,如果用户删除关系,则不会发生任何事情。:counter_cache 坏了, :touch 没有触发。
垃圾解决方案是在保存主模型时在控制器中调用 .touch 。这种作品,但看起来真的很不专业。这应该在模型逻辑中,而不是在控制器中。
我觉得我错过了一些大事,但我无法理解这一点。任何人都可以对这个问题有所了解吗?
django - 如何通过模板中的对象访问自定义多对多中的字段
考虑以下模型:
成员资格是具有额外字段的自定义多对可能直通对象。
如果我有一个人实例,我如何访问其所有成员关系的相应 date_joined 字段 - 无论是在常规代码中还是在 django 模板文件中?
ruby-on-rails - 从 has_many_through 关系中获取连接模型
在我的 Rails 应用程序中,我有一个 has_many_through 关系。我想使用连接模型/表来存储有关关系的一些数据(具体来说,使用该特定关系的次数)。
我正在我的一个类上编写一个 add-method,它应该检查与主题的任何现有关系,如果存在则更新关系上的计数器,如果不存在则创建它。
例子:
CoffeeDrinker 与 Coffee through Cup 有关。每次 CoffeeDrinker 喝一口时,该特定杯子上的计数器都会增加。CoffeeDrinker 第一次喝一口时,应该创建杯子并初始化计数器。
获取关系对象的最简单和/或最正确的方法是什么?
ruby-on-rails - 在 Rails 中,如何在不删除真实记录的情况下销毁“连接表项”?
我现在很困惑,我不知道如何删除/销毁连接表中的记录:
如果我只想销毁关系项,我该怎么办?
ruby-on-rails-3 - Rails3 嵌套 has_many 通过问题
我们计划将我们的应用程序升级到 Rails3。我们经常使用的一个插件是nested_has_many_through。这个插件似乎已经过时,不再维护,而且似乎根本无法在新的 Rails3 应用程序中工作。
一个简单的例子:
任何人都可以推荐处理这个问题的最佳实践方法,或者一个工作的 Rails3 插件吗?
谢谢!!
ruby-on-rails - has_many 的 RESTful 路由:通过关系?
我有 2 个模型 - User 和 Activity - 由 has_many 关联:通过使用 UserActivity 模型。用户可以“想要”或“完成”一个活动,这会创建一个 UserActivity 记录并设置适当的布尔值。
在创建路由和控制器操作时,您会建议如何处理这些操作?像 activity/:id/want 和 activity/:id/done 这样的东西是否最有意义,因此在活动资源下有 2 个成员路由?还是只使用 user_activity 控制器中的更新/创建操作更有意义,发布到 /user_activity 进行创建,然后放入 /user_activity/:id 进行更新?