繁体   English   中英

Ruby on Rails通用模型模式有名称吗? Polylink?

Is there a name to this Ruby on Rails common model pattern? Polylink?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

这个通用模型模式似乎没有名字。

它已用于acts_as_taggable[_whatever]等许多插件中,并且基本上允许
将某个模型(例如Tag)与其他任何模型链接起来,而无需放置
Tag模型中的Everly_to语句越来越多。

通过将模型(标签)链接到多态联接模型(标签)来工作
代表联接表。 这创建了一个独立的模型,其中任何
其他模型可以关联。
(它们通过has_many :as和has_many:through相关联)

我经常想将这种类型的模型关系称为一件事。
也许将其称为“多链接模型”或“多链接模型”?
例如,“使其成为多链接模型,并在编码时将其与任何其他模型相关联”。

还有其他建议吗?

这是acts_as_taggable模型的内部工作原理:

class Tag < ActiveRecord::Base
  has_many :taggings
end

class Tagging < ActiveRecord::Base
  belongs_to :tag
  belongs_to :taggable, :polymorphic => true
end

class Whatever < ActiveRecord::Base
  has_many :taggings, :as => :taggable, :dependent => :destroy
  has_many :tags, :through => :taggings
end

class CreateTaggings < ActiveRecord::Migration
  def self.up
    create_table :taggings do |t|
      t.references :tag
      t.references :taggable, :polymorphic => true
      t.timestamps
    end 
  end
end
1 个回复

在Rails行话中,我看到了通常称为“ has_many :through ”的纯has_many :through 对于多态,“多态has_many :through ”。 如果不使用Rails的术语,我想一般的模式可以称为“多态多对多关系”。

1 Ruby on Rails模型模式

大家好,我是刚接触红宝石的人。 我遍历以下代码,其中告诉我正在通过此代码加载数据库模式: 我无法了解如何加载架构。 这段代码实际上在做什么。 请帮忙 ...

2 域模型模式示例

我只是想找到Martin Fowler的Domain Model模式的一些例子而我不能。 从我在Internet上发现的域模型只是向类中添加一些“逻辑”方法。 例如 我理解正确吗? 如果没有,我将非常感谢Domain Model Pattern的一个小例子。 ...

3 正确的MVVM ViewModel和模型模式

我还没有找到确切的答案。 有人提到直接绑定到模型不适合MVVM,但是我试图确定以下模式是否仍然遵循MVVM: 视图: &lt;TextBox Text="{Binding InfoForProcessing.BatchId}"/&gt; &lt;TextBox Text="{Bind ...

4 MVC中的模型模式

将模型存储在解决方案中的这种模式中是一种好习惯吗? 在Models文件夹中,这里有POCO类(或带有EF数据注释的对象)和主文件MyDbContext.cs ViewModels文件夹,我在其中存储所有ViewModels。 在ViewModels文件夹中,我在单独的X ...

5 在rails上导致ruby错误的模型名称

在我看来,有可能在轨道上打破ruby,这样当使用特定的模型名称时,脚手架都不再起作用,也不会迁移数据库。 特别是当使用“Dispatcher”通过scaffold创建模型时,我注意到了这一点。 如果我使用不同的名称创建相同的对象一切正常。 有没有人做过类似的经历,或者是否有一个不使 ...

7 通用类型模型绑定和BindAttribute

我在asp.net mvc中遇到绑定属性问题。 我有一个自定义的ViewModel看起来像这样: 以及提交方法如下: 如果您查看上述方法,您会发现bind属性为'Exclude =“ IsSystemAdmin”'。 管理员模型具有一个名为“ IsSystemAdmin”的布 ...

8 如何检查通用模型模板中的权限?

这可能很难解释,所以请耐心等待。 我有一个模板页面,用作查看模型的基础页面: 我想在“ 编辑”和“ 删除”按钮周围添加一个权限标签吗? 因此,我想添加以下内容: {% if perms.model.edit_model %}但我必须做些什么才能使其通用? 希望这个问题很清楚 ...

9 Rails:模型和模型模板交互

使用 :Ruby on Rails(3.0.3) 我正在建立一个可以执行与健康和饮食相关的计算的网站。 每个计算都包含不同的输入: 计算1身高,体重,腰围 计算2重量,臀部测量 计算3臀部测量,生活方式类型(字符串),年龄,卡路里摄入量 ...等等。 我 ...

10 这个创作模式有名称吗?

我应该如何称呼下面的“ BFactory”。 它不是真正的工厂,因为没有选择具体类,并且不一定每次都创建对象。 这是一个池,但是用户完成操作后不会将其返回的B返回到池中。 它可以称为Cache,但性能不是主要目的。 目的是使每个使用相同BFactory的人在传递相同A时都将获得相同B,这 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM