问题标签 [has-and-belongs-to-many]
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 中 has_and_belongs_to_many
在 rails 中使用 has_and_belongs_to_many 关联而不是 has_many :through 有什么明显错误吗?我知道这些 描述差异和解决方法的文章 ,但它们是从 2006 年开始的。从我在 SO 上阅读的内容来看,似乎人们认为 habtm 既旧又笨重,但如果一个简单的多对多加入没有必要的模型是你要找的吗?
想法?
ruby-on-rails - HABTM 2 表 2 种不同的关系
我有一个服务类型表,其中包含几十个服务的 ID 和名称。
我有一个 Projects 表,其中必须有一个 Proposed Services 列表和一个 Accepted Services 列表。
我知道我会在两边都使用 HABTM,中间有一个 project_service_types 表。
当我在同一张表之间有 2 个不同的关系时,我不知道该怎么做。我怀疑它使用 :join_table 和 :associated_forign_key,但我无法让它在我的应用程序中工作。
谢谢。
ruby-on-rails - 保存 has_and_belongs_to_many 孩子
我有一个用户模型和一个角色模型。它们由 has_and_belongs_to_many 关系连接。当管理员创建用户时,我希望他们能够为用户分配角色并在我调用 @user.save 时将其保存
但问题是我收到一个警告,说我无法批量分配角色关系。
关于如何去做的任何建议,我在 Rails 2.3.2
谢谢。
编辑:按要求编码。
用户.rb
角色.rb
查看:new.html.haml
我希望通过在我的创建选项中调用 @user.save 将角色保存给用户。那可能吗?或者这是我不能用那种方式使用的关系,我是否需要一个 has_many 关系才能做到这一点。
cakephp - Cakephp Tagging - 自动保存新标签和标签关系
我在 CakePHP 中阅读了很多关于标记的信息,但我找不到一种“干净”的方式来保存帖子和该帖子的标签。我拥有所有必需的 Post 表、模型和控制器、标签表、模型和控制器以及 posts_tags 表。我在帖子和标签模型中创建了 HABTM 关联。
如果我想保存一个新帖子,我希望 CakePHP 自动保存与该帖子关联的标签,但我找不到正确的方法。在大多数教程中,您必须使用“帮助”函数(http://www.jamesfairhurst.co.uk/posts/view/full_cakephp_application_part_5 =>“_parse_genres”)或类似的东西,但我认为与 CakePHP 的交易是吗,一旦您正确设置,这一切都是由 Cake 完成的。
所以我的问题是,是否有一种“干净”的蛋糕方式来做到这一点,还是我必须使用辅助功能?
ruby-on-rails - ActiveRecord 无法更新 HABTM 关系
我正在使用一个简单的模型进行用户授权,其中包含两个 ActiveRecords User
,Role
User
并且Role
彼此之间具有 HABTM 关系。
我尝试创建一个用户界面,通过简单的复选框为用户分配角色——就像在Railscasts Episode #17中一样。
我的问题是既不User#new
也不User#update_attributes
使用我的表单提交的参数来更新User
对象与其角色之间的关系。params[:user][:role_ids]
包含正确的值。但是在or@user.roles
之后调用会返回一个空数组。User.new(params[:user])
@user.update_attributes(params[:user])
@user.roles
使用or手动分配角色@user.role_ids
,但不是 or 中的“魔法”。User#new
User#update_attributes
有任何想法吗?
cakephp - 如何将数据写入 CakePHP 中 HABTM 连接表的 HABTM 关联?
我正在尝试使用以下结构保存数据:
如您所见,用户和体验表之间存在 HABTM 关联。在experience_users和tags之间还有另一个 HABTM 。我创建了以下表格:
一切正常。saveAll方法创建新体验,将这种新体验分配给两个用户(通过 Experience_users )并设置周围的东西。
困扰我的是,我想为新创建的experience_users记录(第一个)分配一些标签。我想,这应该通过一些评论的东西来完成。此注释代码的每一行都会创建表单并将数据发送到$this->data,但它永远不会被保存。
所以我的问题是:在我的示例中,将数据保存到experience_users_tags中的$this->data或$form->input的正确语法是什么?
ruby-on-rails - Rails has_and_belongs_to_many 让我对固定装置和工厂感到困惑
一般困惑
我有可以有 3 种流派的乐队。我在以前的 SO 帖子中读到,处理此问题的正确方法是几个步骤:
1) 在band.rb中
2)创建一个band_genres连接表
即使在阅读了文档之后,我对 HABTM 的实际含义还是有些困惑。我想我通常会认为“一个乐队有很多流派”,没有也属于很多。因此,对此进行快速的愚蠢解释会很棒。
与夹具混淆
另外,在为 band_genres 做固定装置时,我有
我得到一个“未知”的乐队专栏。我认为 rails 应该知道“收割者乐队”将指代乐队夹具中的乐队(当然同名)并会获取该 ID 并知道此夹具中的“乐队”将指代连接表中的 band_id . 我宁愿我的灯具看起来像这样,也不愿有硬编码的数字。
与工厂混淆
当我在工厂创建乐队时,我想为其分配流派:
我意识到在这里我可能需要一个硬编码的genre_id。但是为什么 rails 不看那个并说“哦,他想将 id=2 的流派添加到 band_genres 表”。
我不指望 rails 会为我处理所有肮脏的工作,但我确实想遵守规则。
ruby-on-rails - 与单表继承关联的 HABTM 关联
我有一个产品模型,它有很多部分,一个部分可以属于许多产品。
截面模型具有特征、标准和选项的子类。
我的模型是:
在我的产品控制器中,我可以这样做:
我希望能够像这样访问子类:
但它只是“未定义的方法'功能'”等错误。
请问谁能告诉我该怎么做?
ruby-on-rails - 如何在不删除项目本身的情况下删除单个 HABTM 关联项目?
如何在不删除项目本身的情况下删除 HABTM 相关项目?
例如,假设我有 3 个学生一起上科学课。如何从 StudentClasses 表中删除 Science 对象而不删除实际的 Science 参考?我猜这 Student.Classes.first.delete
不是一个好主意。
我正在使用带有拖放功能的 JavaScript 来添加和删除,而不是复选框。有什么想法吗?
cakephp - post habtm postlover : 如何按 postlover 的数量排序帖子?
请帮助我,我真的很努力解决这个问题......
作者可以写帖子,作者可以喜欢其他作者的帖子……
所以帖子属于作者(当作者写它们时),但属于 habtm 作者(当作者喜欢它们时)。
例如,我想获取按帖子爱好者数量排序并在过去 24 小时内创建的帖子。这是我的模型和连接表:
表:lovedposts_postloves id:INTlovepost_id:INT postlover_id:INT
后模型
作者模型