Rails 的问题 has_many 关系

2024-04-01

我正在编写一个应用程序,用户既可以创建自己的页面供人们发帖,也可以关注用户创建的页面上的帖子。这是我目前的模型关系的样子......

class User < ActiveRecord::Base

has_many :pages
has_many :posts
has_many :followings
has_many :pages, :through => :followings, :source => :user

class Page < ActiveRecord::Base

has_many :posts
belongs_to :user
has_many :followings
has_many :users, :through => :followings

class Following < ActiveRecord::Base

belongs_to :user
belongs_to :page

class Post < ActiveRecord::Base

belongs_to :page
belongs_to :user

当我尝试通过关系来创建给定用户所关注的页面(和相应帖子)的主页(类似于您登录时 Twitter 用户主页的工作方式 - 一个为您提供信息的页面)时,就会出现麻烦。您所关注页面中所有最新帖子的综合视图)...

当我尝试调用 followings.pages 时,出现“找不到方法”错误。理想情况下,我希望能够以某种方式调用 User.pages ,让我获取用户正在关注的页面,而不是他们创建的页面。

我是一个编程和 Rails 新手,所以任何帮助将不胜感激!在发布这个问题之前,我尝试尽可能多地搜索该网站(以及大量的谷歌搜索),但似乎没有什么比我的问题更具体的了......


您已经定义了pages关联两次。改变你的User类如下:

class User < ActiveRecord::Base
  has_many :pages
  has_many :posts
  has_many :followings
  has_many :followed_pages, :class_name => "Page", 
                 :through => :followings, :source => :user
end

现在让我们测试一下关联:

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

Rails 的问题 has_many 关系 的相关文章

  • 设置 put 的行尾字符

    我有一系列想要打印的条目 Being arr数组 我只是用来写 puts arr 然后我需要使用DOS格式的行尾 r n 所以我写道 arr each e print e r n 这工作正常 但我想知道是否有一种方法可以指定要使用的行尾格式
  • Rails 缓存过期

    我有一个 Rails 应用程序 因为我使用简单的 Rails 缓存 我的测试如下 Rails cache write temp Date today expires in gt 60 seconds 我可以读完Rails cache rea
  • simple_forms 自定义数据属性

    我想在 simple form 生成的输入标签上有一个附加的数据属性 以下不起作用 这怎么可能做到呢 有可能吗 正如您可能已经猜到的 我正在尝试将 bootstrap datepicker 添加到我的网站 而不使用显式 js 来初始化日期选
  • Ruby:注释“frozen_string_literal: true”有什么作用?

    这是rspecbinstub 在我的项目目录中 usr bin env ruby begin load File expand path spring FILE rescue LoadError end frozen string lite
  • (一元)* 运算符在此 Ruby 代码中起什么作用?

    给出 Ruby 代码 line first name mickey last name mouse country usa record Hash line split 我理解第二行中的所有内容 除了 操作员 它在做什么以及相关文档在哪里
  • Ruby 中的数字运算(需要优化)

    Ruby 可能不是最适合这种情况的语言 但我很乐意在我的终端中使用它 所以这就是我要使用的 我需要处理从 1 到 666666 的数字 因此我找出包含 6 但不包含 7 8 或 9 的所有数字 第一个数字是6 下一个16 then 26等等
  • ruby-on-rails 检查查询结果是否为空(Model.find)

    我正在 Rails 上使用 ruby 并尝试检查查询是否返回值 这是查询 search Customer find by name login name 如果查询找到结果 一切都很好 但是我如何对空结果做出反应 I tried if sea
  • 是否可以使用 Ruby 或 Python 发出禁用锚点/引用的有效 YAML?

    是否可以禁用创建锚点和引用 并有效地显式列出冗余数据 PyYAML或者红宝石的Psych引擎 也许我在网上搜索时错过了一些东西 但似乎可用的选项并不多Psych我无法确定是否PyYAML也允许这样做 理由是我必须序列化一些数据并以可读的形式
  • 使用 net/http 发送 Post 请求

    我需要将 JSON 数据发送到同一台计算机上运行的另一个应用程序 我像这样发送请求 rails 3 2 13 data some data hash url URI parse http localhost 6379 api plans r
  • sRails 4.2 / Rspec / rspec-retry - 关联属于/has_many 失败

    我在 rspec 上面临着一个巨大的问题 每次我尝试解决一个错误时 它都会创建另一个错误 我有一个模型交易 其中有 许多步骤 模型 步骤 rb belongs to deal foreign key gt deal id 模型 deal r
  • NoMethodError:未定义的方法“调用”

    运行以下测试套件时 require spec helper describe User do before user User name Example User email email protected cdn cgi l email
  • 如何获得“irb(main):001:0>”提示而不是“>>”

    我的 Mac 上预装了 Ruby 所以我想看看它 我注意到的第一件事是 irb 提示 gt gt 而不是 irb main 001 0 gt 我找不到任何关于如何通过 Google 更改此设置的信息 因为每个人都在其代码中使用 irb ma
  • 如何使用活动模型为 date_select 下拉菜单定义虚拟属性

    我在应用程序中使用活动模型进行付款流程 但我无法添加信用卡到期日期字段 因为它会引发如下错误未定义方法 card expiration date 3i 在我的模型中 class CartServer include ActiveModel
  • 如何安装wkhtmltopdf?

    现在我正在使用rails 3 0 0 我正在使用Ubuntu 11 10 64位操作系统 我想安装wkhtmltopdf 请告诉我wkhtmltopdf的静态版本 安装中wkhtmltopdf 在 Ubuntu Linux 机器上 首先使用
  • 我可以渲染 :partial 没有前导下划线的视图吗?

    我在这里面临着不稳定的状况 我需要部分渲染没有前导下划线的页面 这将寻找 app views home contact html erb 但我想让它寻找 app views home contact html erb 有办法做到这一点吗 T
  • 为 Ruby/Rails 动态更改 iTerm2 选项卡标题

    我使用的是 iTerm2 通常会打开许多 选项卡 不幸的是 所有选项卡都显示相同的标题 ruby 因为它都是 ruby 脚本 但一个是rails服务器 另一个是rails控制台 下一个是 spork 我想将选项卡标题动态设置为 服务器 控制
  • 如何在 Rails 中每天缓存一个值?

    在 Rails 中每天缓存一个值的最佳方法是什么 我有一个可通过 API 访问的数据库调用 我想每天制作并存储它 做到这一点的最佳方法 做法是什么 假设你有一个widget price您只想每 24 小时更新一次 通常你使用Widget c
  • 在 Ruby/Rails 模型/控制器中引用关联/属性时 *、self.* 和 @* 之间的差异

    假设 Rails 模型具有持久 非持久属性 那么引用它们的最佳实践是什么 如果您查看公开可用的代码 就会发现使用了不同的模式 例如 如果您有从一个模型到另一个模型的关联 使用有什么区别self association name and 协会
  • rake db:migrate 和 rake db:create 都适用于测试数据库,而不是开发数据库

    我是 Stack Overflow 和 Ruby on Rails 的新手 我的问题是 当我运行命令 rake db create 或 rake db migrate 时 测试数据库受到影响 但开发数据库不受影响 导轨 3 2 2 我的数据
  • 在 Ruby 中覆盖 BigDecimal to_s 默认值

    当我从数据库表中检索数据时 会填充一个数组 某些字段被定义为小数和货币字段 并且在数组中它们表示为 BigDecimal 我使用这些数组值来填充 CSV 文件 但问题是所有 BigDecimal 值默认都以科学格式表示 这是 BigDeci

随机推荐

  • 如何判断无扩展名图像是 png 还是 jpeg

    不久前 我保存了一些由网络服务生成的图像 因此文件名例如 ysauyft87ggsa67fgeg w 1600 我可以打开并操作这些图像 好的 我只想知道它们是什么编码 几乎可以肯定是 png 或 jpeg 我已经在 OSX 中尝试过 获取
  • Chrome 在来自第 3 方 IFRAME 时不会保留我的 _SESSION 变量,但在直接访问时可以完美运行

    直到几周后 我所有的网站都运行良好 我编写代码并在 CodeCanyon 上出售 但最近 今天 我注意到我无法再登录我在那里出售的 PHP 小代码片段 如果我直接在我的域上工作 就像在 URL 栏中输入链接一样 那么在任何浏览器中一切都会完
  • 在Python中使用numpy和scipy在matplotlib中制作分箱箱线图

    我有一个包含值对的二维数组 我想通过 x 值的不同箱来绘制 y 值的箱线图 IE 如果数组是 my array array 1 40 5 4 5 60 然后我想对 my array 0 进行分箱 然后对于每个分箱 生成属于每个框中的相应 m
  • 语法错误:WITH 在此位置输入无效

    所以我有这个类似的请求 WITH customers in usa AS SELECT customerName state FROM customers WHERE country USA SELECT customerName FROM
  • 查找字符串中重复的单词并计算重复次数

    我需要找到字符串上重复的单词 然后计算它们重复的次数 基本上 如果输入字符串是这样的 String s House House House Dog Dog Dog Dog 我需要创建一个不重复的新字符串列表 并将每个单词的重复次数保存在其他
  • 更改 viewpager 中当前片段的背景图像

    我在 viewpager 中有 4 个片段 FragmentStatePagerAdapter 在我的 viewpager 所在的活动中 FragmentStatePagerAdapter 的 newInstance 方法将布局 id 作为
  • Quarkus & Microprofile:是否有更好的方法将 application.properties 中的属性使用到 @ClientHeaderParam 中?

    我正在尝试构建一个简单的应用程序来调用 APIquarkus rest client 我必须注入一个 API 密钥作为标头 该标头对于 API 的所有资源都是相同的 所以我想把这个API Key的值 这取决于环境 dev qa prod 在
  • 将焦点设置回文本框

    在用户移动到用户表单上的下一个字段之前 我需要检查文本框是否为空 空或空白 这是检查文本框是否为空 null 空白的代码 我的问题是它不会将焦点返回到文本框 而是移动到用户表单中的下一个字段 Private Sub txtTDYLocati
  • 3 层模式与 MVVM 的比较

    我不知道MVVM 我总是遵循 3 层模式 其中一层是 UI 另一层是业务层 最后一层是数据访问层 在这一层中 我们将请求从 UI 发送到业务层 业务层与数据访问层进行交互 在这种模式下 一切都很顺利 那么我的问题是为什么要学习 MVVM M
  • 取消引用后 *p++ 会递增吗? [复制]

    这个问题在这里已经有答案了 我不太确定这里的顺序是什么 是吗 1 增加指针p的值后取消引用它 2 在增加指针 p 的值之前先取消引用它 增量和取消引用之间没有顺序 但是 那 运算符应用于结果p 这是原始值p在增量之前
  • 仅在平板电脑上支持 Android N+ 分屏

    有没有办法仅在足够大的屏幕上配置对活动的多窗口支持 例如药片 https developer android com preview features multi window html configuring https develope
  • SQL Server INNER JOIN 具有多个关系的多个内连接

    我有以下查询 它工作得很好 但我需要从另一个名为 FB 的表中提取 BUserName 该表具有与 FU 表中的 UserID 相关的 UserID 字段 这可能吗 SELECT TOP 100 FF XID FF YID FF Title
  • MvcSiteMap 生成菜单而不弄乱面包屑

    我正在配置我的 asp net mvc 5 应用程序以使用 MvcSiteMap 库 到目前为止 我可以成功配置面包屑 然而 菜单模板比面包屑要复杂得多 我有小胡子版本的菜单 我没有显示 ul 标签
  • .h 文件中应包含哪些内容?

    将代码分成多个文件时 究竟应该将哪些内容放入 h文件以及应该放入的内容 cpp file 头文件 h 旨在提供多个文件中所需的信息 类声明 函数原型和枚举等内容通常位于头文件中 一句话 定义 代码文件 cpp 旨在提供只需要在一个文件中了解
  • Gradle - FatJar - 无法找到或加载主类

    我知道这个问题被问了很多并且有很多答案 但我仍然明白 但我不明白为什么 我正在尝试生成一个 jar来自与 gradle 具有依赖关系的项目 我有课src main java Launcher java 其中我有我的main method 有
  • python 中是否可以从子线程中杀死父线程?

    我在 Windows 上使用 Python 3 5 2 我想运行一个 python 脚本 但保证它不会花费超过N秒 如果它does采取超过N秒 应该引发异常 并且程序应该退出 最初我以为我可以在开始时启动一个线程来等待N抛出异常之前的秒数
  • 如何从角度4中的url获取参数?

    我正在尝试从 URL 获取开始日期 网址看起来像http sitename booking startdate 28 08 2017 我的代码如下 aap module ts import NgModule declarations App
  • Maven 无法找到 AEM 原型

    我已经开始解决这个问题很长时间了 我正在处理 Adob e wknd 项目 但我无法通过这个命令 并且大部分工作都是基于它构建的 mvn archetype generate DarchetypeGroupId com adobe gran
  • Google+ 登录在 Android 片段上无法正常工作

    我正在使用 google 登录我的应用程序 当我使用活动完成它的工作魅力之后 我将代码移动到片段中 之后当我尝试登录 google 时 它不起作用 我必须打开片段活动2 次登录 google 谁能告诉我发生了什么代码片段添加在下面 publ
  • Rails 的问题 has_many 关系

    我正在编写一个应用程序 用户既可以创建自己的页面供人们发帖 也可以关注用户创建的页面上的帖子 这是我目前的模型关系的样子 class User lt ActiveRecord Base has many pages has many pos