对同一类型的多个项目使用“引用”

2024-06-25

因此,我正在自学 Ruby on Rails,并具有 PHP 背景。我编写了一个草率的、概念验证的 PHP 应用程序,名为“2NDP. http://rezich.com/storybored“我想在 Ruby on Rails 中重新创建它(但更基础、更干净并且具有更好的界面),这样我就可以学习一些基础知识。

2NDP 是一个网站,您基本上可以在其中编写自己的“选择您自己的冒险”书籍,但可以与其他人协作。我使用 PHP/MySQL 进行这项工作的方式是,我有一个故事表和一个页面表。这些页面将属于故事(显然),但每个页面将通过四个单独的列来引用最多四个其他页面,每个列对应可以引用的每个可能的页面 ID。

因此,现在在我的 RoR 应用程序中,我的“故事”具有与其关联的“页面”。我需要一种方法让页面相互引用,但每个页面可能有多个引用(一个页面最多可以引用四个其他页面)。

我真的很喜欢 RoR 的“引用”功能,但是有没有办法优雅地实现这种系统呢?请记住,我唯一的 RoR 经验是浏览四个教程,并且我正在尝试通过“现实生活应用程序”重新应用我所学到的知识。


与拥有四个单独的列相比,单独的连接表可能更合适。例如:

页面 -> 链接页面 -> 页面

然后你可以创建一个有_许多通过 http://wiki.rubyonrails.org/rails/pages/Beginner+Howto+on+has_many+:through关系。

class Pages < ActiveRecord::Base
  has_many :linked_pages
  has_many :pages, :through => :linked_pages
end

class LinkedPages < ActiveRecord::Base
  belongs_to :pages, :class_name => "Pages", :foreign_key => "page_id"
  belongs_to :linked_pages, :class_name => "Pages", :foreign_key => "linked_id" 
end

然后,当使用您的 Page 对象时,您可以简单地说:

my_page.pages
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对同一类型的多个项目使用“引用” 的相关文章

  • 如何防止Rails“复数”列名?

    我正在使用 dwilkie 的外国人 http github com dwilkie foreignerRails 插件 我有一个表创建语句 如下所示 create table agents games force gt true id g
  • 国家/地区的下拉菜单

    您好 我想为国家和州实现下拉菜单 州下拉列表应根据所选国家 地区更改其值 有没有任何插件或 gem 可以在 Rails 中执行此操作 尝试卡门插件 http autonomousmachine com posts 2009 4 1 carm
  • 后端验证轨

    如何验证文本列不包含网站 示例可以是 www google com google com http gooogle com http www google com https www google com https google com
  • ActiveRecord::Enum - PG::InvalidTextRepresentation:错误:整数输入语法无效:

    我遇到了一个奇怪的错误 希望有人能指出我正确的方向 我有一个名为 组织 的模型和一个名为 组织 的属性department 请参阅下面的架构摘录 t integer department default 0 在我的模型内部已经定义了这个属性
  • 将用户输入转换为整数

    所以我有一个用户可以输入价格的表格 我正在尝试创建一个 before validation 来规范化数据 如果用户放置 则剪裁它 before validation do unless self price blank then self
  • 日期时间到时间转换中奇怪的 Ruby 行为

    我的目标是从 DateTime 实例获取 Time 实例 这已经在这里讨论过 但我仍然很困惑 在 Ruby 中与日期时间和时间相互转换 https stackoverflow com questions 279769 convert to
  • 当验证在另一个表上有条件时,数据库中的唯一性验证

    我在这里问了类似的问题当验证有条件时数据库中的唯一性验证 https stackoverflow com questions 24640182 uniqueness validation in database when validatio
  • Javascript 清单文件“application.js”未处理

    我在 Macbook Pro 上创建了一个新的 Rails 3 2 应用程序 但资产管道不起作用 这是我所做的 rails version Rails 3 2 5 rails new test assets cd test assets r
  • Rails:为什么我的所有 scss 文件都没有被编译?

    我是 Rails 的初学者 我认为我还不清楚如何组织样式表 目前 我的资产 样式表中有两个文件 应用程序 css home css 当我运行 rake assets precompile 我意识到只有 application css 被编译
  • 为什么在安装 gem 'pg' 时出现错误? [复制]

    这个问题在这里已经有答案了 可能的重复 无法在 ubuntu 上安装 pg gem 找不到 libpq fe h 标头 https stackoverflow com questions 6040583 unable to install
  • rake db:migrate 到底做了什么?

    rake db migrate 是否仅添加新的迁移 还是会删除所有迁移 更改并构建所有新内容 我认为 rake 抛出错误 因为它试图访问迁移 040 中的表属性 该属性已在迁移 042 中删除 不知何故 我的数据库和 rake 不同步 我想
  • Rails 4:Solr 抛出 JavaMissing 错误,但已安装 Java

    我重新启动了 Rails 4 VPS Solr 显然也关闭了 我现在正在尝试启动 Solr 但是当我运行以下命令时RAILS ENV production bundle exec rake sunspot solr start我收到以下错误
  • Rails 4 生产环境中资产出现 404 not found 错误

    我是java环境中的rails新手 我对轨道 3 到轨道 4 的资产管道几乎没有什么困惑 目前我使用的是 Rails 4 2 5 我在本地环境中创建了一个示例应用程序 我从 app assets javascripts 内部创建了一个新的
  • 重写的方法仍然被调用

    我正在使用一个正在实现的库belongs to数据库中两个条目之间的关联 由于这不是我需要的行为 我想通过重写此方法prepend 但 pry 告诉我 原来的方法仍然被调用 我仔细检查了一下 我使用的是 ruby 2 0 前置的代码 mod
  • asset_host 和相关协议 URL 更改为 http

    我的应用程序 Rails 4 0 0 的某些元素可通过 http 和 https 连接使用 因此我已将 asset host 配置为使用相对协议 url 这应该允许浏览器进行切换它希望从中获取资产的协议 config action cont
  • 带 Bootstrap 选项卡的 Rails

    我有一个 Rails 4 应用程序 我正在尝试合并 Bootstrap 选项卡 阅读引导文档 它说这样做的一种方法不涉及任何js 我已经尝试了文档中的每种方法 但无法让它们在我的应用程序中工作 我目前的尝试是 ul class nav na
  • Rails 6 中的protect_from_forgery?

    The protect from forgery方法不包含在默认 Rails 6 应用程序的应用程序控制器中 但有嵌入式 ruby在主应用程序布局中 这是否意味着protect from forgery方法已被抽象并且在应用程序控制器中不再
  • 如何向除rails/actioncable中的发件人之外的所有客户端发送消息?

    在socket io中 您可以向除发送者之外的所有客户端发送消息 例如 socket broadcast emit user connected 但在 Rails ActionCable 中 该怎么做呢 class BoardChannel
  • 延迟作业排除队列

    我有一个延迟的作业队列 其中包含运行速度特别慢的任务 我希望由自己的一组专用工作人员来处理这些任务 因此它会阻碍其余工作人员管道的风险较小 RAILS ENV production script delayed job queue supe
  • 使用 Ransack 的带有按钮或 link_to 的 Rails 过滤器

    我正在使用 Ransack gem 开发一个 Rails 应用程序 下面是我到目前为止编写的用于过滤数据库的代码 它的工作方式就像一个魅力 现在我想做的是将其他按钮 如过滤器选项 添加到我的索引视图 其中每个按钮都有预定义的过滤器值 换句话

随机推荐