问题标签 [has-many-polymorphs]

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 投票
2 回答
141 浏览

ruby-on-rails - Rails:当您不知道对象属于哪个类时尝试输出对象的内容

前言:

不要被 My Rails 3 应用程序使用has_many_polymorphs gem的事实吓到,因为我认为您不需要熟悉 gem 来帮助我:)

我的代码:

我有一个包含许多片段的 Post 模型。还有四个额外的模型是可片段的​​,即Snippet类型:

将片段添加到帖子

现在,如果我想在帖子中添加两个文本片段和两个图像片段,我可以这样做:

结果是这样的博客文章:

  • 文本片段
  • 图像片段
  • 文本片段
  • 图像片段

我的问题

我在视图中显示每个片段的内容时遇到了一些问题。

在我看来,我可以做到以下几点:

但是这将导致一个看起来像这样的博客文章:

  • 文本片段
  • 文本片段
  • 图像片段
  • 图像片段

我不希望片段以这种方式按类分组。

我该如何解决这个问题?

好吧,我看看这个问题。我知道我可以做到以下几点:

这将输出每个片段的类名,如下所示:

  • 文本
  • 图片
  • 文本
  • 图片

但我想要每个片段的内容。

扩展我们上面的内容,因为每种类型的代码片段都有一个与类本身同名的属性,我也可以这样做:

这将输出每个片段的类名和属性名:

  • 文本.文本
  • 图像.图像
  • 文本.文本
  • 图像.图像

如果我能找到一种获取内容而不是类名的方法,那么我就可以了。有人有任何线索吗?

如果有人得到这个,我会感到非常惊讶。谢谢你读到这里。

0 投票
1 回答
243 浏览

ruby-on-rails - has_many_polymorphs 中的冲突关联

我正在使用 has_many_polymorphs 在多个用户可以发布故事和发表评论的网站上创建“收藏夹”功能。我希望用户能够“喜欢”故事和评论。

现在说@user 写了一个故事。现在@user.stories.size = 1。然后@user 收藏了一个不同的故事。现在@user.stories... 等一下。@user has_many :stories 和 :has_many :stories 到 :favorites。

当我尝试调用@user.stories 或@user.comments 时出现问题。我想为他们拥有的故事调用@user.stories,为他们喜欢的故事调用@user.favorites.stories。

所以我尝试了这个:

然后像这样子类化 Story 和 Comment:

这解决了问题,因为现在我可以调用@user.stories 和@user.favorite_stories。

但是当我在参考评论时收到此错误时:

用户控制器中的 ActiveRecord::Associations::PolymorphicError#show

我在类似的上下文中发现了对这个错误的讨论,但它没有回答我的问题。

这里发生了什么?我怎样才能做得更好?

0 投票
1 回答
6226 浏览

ruby-on-rails - has_many :through, :source, :source_type 返回空数组

我有一些ManagerSoccerTeam模型。经理“拥有”许多足球队;经理也可以评论足球队,也可以评论其他经理:

经理.rb

足球队.rb

评论.rb

现在,如果我有一位经理对 SoccerTeam 发表评论,我希望找到:

  • 一个Comment物体manager.reviews在里面soccer_team.comments
  • 中的一个SoccerTeam对象manager.observed_teams
  • 中的一个Manager对象soccer_team.observers

虽然第一点和第三点一切正常,但当我打电话时,manager.observed_teams我总是得到一个空数组。要实际获得经理评论过的足球队名单,我需要使用:

这是丑陋的。我希望简单manager.observed_teams的工作......为什么不呢?

编辑

我进一步理解了为什么它不起作用。实际上,生成的 SQL 是:

虽然我希望它是:

所以问题很简单:如何获取该查询?:foreign_key(正如预期的那样,使用ans的启发式尝试:as并没有解决问题!)。

0 投票
1 回答
1235 浏览

ruby-on-rails - Rails 通过自引用 has_many

我正在尝试创建一个具有三种基本用户类型的自引用用户类——家长、学生和导师。学生属于父母,也可以属于导师。当然,按照我写的方式,rails 只识别有学生的父母。如果用户是导师,则 User.students 总是返回空,但当用户是父母时它可以工作。有任何想法吗?

关系类:

这些部分(家长、学生、导师)也是各自的班级。基本用户信息在 User 类中,而特定于导师的数据在 Tutor 类中。

0 投票
2 回答
185 浏览

ruby-on-rails - rails3 模型问题

我从 php 迁移到 rails3,我仍然认为这是一个不错的决定!无论如何,我有一些模型:

用户型号:

问题模型:

答案模型:

投票模型:

现在我的问题是,一旦用户对答案进行了投票,就应该关闭对该用户和该特定问题的投票...

我在我的项目的其余部分中使用设计和 cancan 作为用户和授权......

在我看来,它应该看起来像:

然后在我渲染投票按钮的地方执行脚本......

在我的投票模型中,我有一个 answer_id 和一个 user_id,我知道 current_user.id 和当前 question.id 所以如果 vote.user_id 有当前 question.id 中的 vote.answer_id ,那么它不应该呈现我的按钮制作脚本... aarghh 但是如何使它工作...?

首先十分感谢!最好的问候, Thijs

0 投票
1 回答
259 浏览

ruby-on-rails - has_many_polymorphs 插件给了我这个错误

这是我尝试创建新模型时日志中的错误:

它来自 has_many_polymorphs 插件...

这是配置/environment.rb:

这是/rubyprograms/dreamstill/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/configuration.rb

0 投票
1 回答
546 浏览

ruby-on-rails - 如何为 has_many_polymorphs 和错误设置这些 CRUD 控制器操作

我正在使用has_many_polymorphs插件,以便可以将视频、主题和用户发布到个人资料中。因此,个人资料有许多“showable_objects”,可以是视频、主题和用户。此外,创建“showable_object”的用户也将与其关联。我已经设置了模型关联(如下)。

我希望创建 showable_object 的方式是让用户从资源显示页面上的自动完成字段中选择另一个用户。然后该资源与所选用户的配置文件相关联。

我的问题是我应该如何设置我的 showable_objects 控制器?另外,如果我希望它通过 AJAX 发送,AJAX jQuery 请求会是什么样子?

更新:

这是我的模型关联:

这是我的 ShowableObject 迁移:

顺便说一句,我也从这些关联中得到了这个错误(所以这实际上是一个两部分的问题:P):

它指向这条线<% if video.owned_by? current_user %>并且与has_many_polymorphs用户模型中的调用有关。

0 投票
1 回答
177 浏览

ruby-on-rails - has_many 通过和多态关系

我不知道这是否可能,但这里有:

我需要能够调用的关系是什么:

它是否通过 Apple 和 Banana 与 Worm 的多态关系获取了所有 Worm?

这似乎有点倒退,但无论如何我感谢您的帮助!如果需要任何澄清,请询问。

0 投票
1 回答
758 浏览

ruby - Rails 3,has_many :through 和 :polymorphic - 我需要这样做吗?

好的,就这样吧。我不知道我是不是把事情复杂化了,或者我对 Rails 还是太陌生以至于我不了解基础知识。我在 sudo 代码中想要的是:

然后我想要以下神奇的东西:

所以在写下来时,我可以看到我对这个模型的理解还有另一个差距。用户可以具有所有者、追随者或贡献者的角色或这三者的任意组合。

就实际代码而言,我在这里添加了我认为相关的部分:

关系模型的迁移是:

目前我收到诸如 project.users 之类的错误ActiveRecord::HasManyThroughAssociationNotFoundError: Could not find the association :relateable in model Project

我觉得我在这里太荒野了,无法真正得到我想要的东西,也许依靠神奇的铁轨来做更多的事情。任何关于最佳路径的指导将不胜感激。

提前致谢

史蒂夫

0 投票
0 回答
103 浏览

ruby-on-rails - 多态 has_many 的问题

我有下表“参与”:

我有以下型号:

这与此处的文章中所指出的一样,也类似于此处的 ActiveRecord 文档。访问 Coupon.first.groups 或 Coupon.first.locations 时失败,错误如下:

我尝试了其他一些变化,但没有运气。当然,访问 Group.first.participations 会出现“未定义的方法”错误。