Rails 如何显示父对象的属性

2023-12-02

我正在尝试使用 Rails 4 制作一个应用程序。

我有 2 个表 - user.rb 和 profile.rb。

User has one profile
Profile belongs to User

用户具有名为 :first_name 和 :last_name 的字符串属性

在我的个人资料显示视图中,我有这一行:

<%= "#{@profile.user.first_name} #{@profile.user.last_name}" %>

我现在尝试使用以下元素制作个人资料索引视图页面:

 <% Profile.all.sort_by(&:created_at).in_groups_of(3) do |group| %>
      <div class="row">
        <% group.compact.each do |profile| %>
            <div class="col-md-4">
              <div class="indexdisplay">
              <%= image_tag profile.image_url, width: '100%', height: '200px' if profile.image.present? %>
                  <div class="indexheading"> <%= link_to "#{@profile.user.first_name} #{@profile.user.last_name}" %>, profile %> </div>
                   </div>
            </div>
              <% end %>
              </div>

    <% end %>

我收到一个错误,内容如下:

undefined method `user' for nil:NilClass

我不明白该行如何在显示视图中正常工作,但在索引视图中不起作用。我也不明白为什么它认为用户是一种方法。这是一张桌子。


你正在调用方法user on @profile。是的,它是一个关联记录,但它是一个方法调用。问题是你在实例变量上调用它@profile,鉴于所提供的信息不存在。调用时不存在的实例变量返回nil。调用方法nil导致您遇到错误消息。

的父循环包装器<%= "#{@profile.user.first_name} #{@profile.user.last_name}" %>是一个循环profile in group。替换实例变量@profile有变量profile。这应该可以解决你的问题。

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

Rails 如何显示父对象的属性 的相关文章

  • MacOS 每秒唤醒次数错误

    构建 Rails 应用程序 ruby 2 4 0p0 Rails 5 1 4 并使用我的 Macbook Air MacOS High Sierra 10 13 2 进行本地测试 我不断遇到此问题 过去 241 秒内有 45001 次唤醒
  • 如何设置“attr_accessible”以便不允许使用 Ruby on Rails 访问模型的任何字段?

    如果在模型文件中我只有以下代码 class Users lt ActiveRecord Base end 这意味着什么 与模型相关的所有属性是否均可访问 我如何设置 attr accessible 以便not允许访问any领域的for那个型
  • 程序“gem”可以在以下软件包中找到

    我正在 Virtual Box Ubuntu 13 10 上安装 Ruby on Rails 以下是步骤 ruby v gt 程序 ruby 可以在以下软件包中找到 尝试 sudo apt get install 来源 我的帐户 gt 好的
  • Partial、Layout、Template 渲染问题

    情况 因此 当我访问页面时 我希望能够将布局应用到部分 我想要三个具有相同布局的部分 现在 我正在尝试使用以下命令来执行此操作 where shared services essay是这样的 p blah p div blah div
  • Ruby on Rails 最酷的功能是什么,为什么选择它? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在我问这个问题之前 我浏览了 SO 上 Ruby on Rails 的搜索结果 找不到太多 但以下 在此页面上找到 https stackove
  • 为什么 Rails 5 将“索引”更改为“外键”?

    如果你在 Rails 4 中有这个 t references event index true 现在你可以使用foreign key代替index在 Rails 5 中 我不太明白为什么他们决定这样做 因为功能保持不变 您添加的是索引 而不
  • ruby on Rails,会话过期通知

    我正在使用 ruby 1 9 3 和 Rails 3 2 我的实际会话处理如下所示 会话助手 def sign in user cookies remember token value user remember token expires
  • 如何使用 Ruby 2.7.0 修复 Rails 的警告消息

    有没有人解决这个问题Ruby 2 7 0 I used rbenv并安装了 Ruby v2 7 0 然后使用创建了一个 Rails 项目Rails v6 0 2 1 目前 通过运行之一 rails s rails s u puma rail
  • Eventmachine start_tcp_server 无接受器 - 端口正在使用或需要 root 权限(运行时错误)

    我已经 3 天无法运行本地服务器了 重新启动我的计算机没有帮助 有几次 在反复尝试大约 40 50 次之后 它随机地起作用了 我不明白为什么 我尝试过一次不同的端口并且有效 但从那以后 没有端口有效 每次我尝试运行我的 Rails 服务器时
  • 如何在 JS Rails 响应中包含 HTML?

    我有一个响应 HTML 和 JS AJAX 查询的 FooController app controllers foo controller rb class FooController lt ApplicationController l
  • Ruby on Rails 3 - 为每个请求重新加载 lib 目录

    我正在为 Rails 3 应用程序创建一个新引擎 正如您所猜测的 该引擎位于我的应用程序的 lib 目录中 但是 我在开发它时遇到了一些问题 事实上 每次更改引擎中的某些内容时 我都需要重新启动服务器 有办法避免这种情况吗 我可以强制rai
  • 如何从rails控制台将数据添加到数据库

    我有一个User model gt gt u User new gt
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • 使用复选框过滤列表

    我有一个电影列表及其评级 在我的页面顶部 我有一个表单 其中提供了一个复选框列表 其中显示了每个可用的评级 G PG 13 等 一旦用户单击复选框并点击提交 我只想显示所选的电影 在我的索引方法中 我有一个名为的实例变量 filtered
  • 在 CircleCI 中设置 Elasticsearch 和 Ruby on Rails

    我正在尝试在 Rails 应用程序中使用 Elasticsearch 设置 CircleCI 我想已经配置了镜像 但是如何在 CI 中连接到它 到目前为止我已经尝试过 https github com elastic elasticsear
  • RSpec 请求规范发布一个空数组

    我目前正在 Rails 中开发 API 端点 如果我需要的数据无效 我想确保端点响应具有正确的错误状态 我需要一个 id 数组 无效值之一是空数组 Valid vendor district ids 2 4 5 6 Invalid vend
  • 自定义通用 Rails 错误消息

    我们的 Rails 应用程序被设计为链接到多个客户端数据库的单个代码库 根据子域 应用程序确定要连接到哪个数据库 我们使用液体模板为每个客户定制演示文稿 我们无法为每个客户定制通用的 我们很抱歉 出了点问题 消息 谁能推荐一种方法让我们能够
  • 通过 ESI:include 设置 Cookie,如何?

    我正在尝试使用 esi 在我的网站上创建忍者缓存 这个想法是 该网站大部分是静态的 我只需要在用户是否登录时做一些花哨的事情 所以我试图在页面A上放置一个 并在页面B的应用程序中设置触发器 这样我就可以将页面 A 缓存在 varnish 上
  • 在 ActiveAdmin 或打印解决方案中动态更改分页

    我是 Activeadmin 和 Rails 的新手 我需要一些帮助 我有一个分页模型 我想允许用户更改分页值或完全禁用它 这样它就可以打印 到打印机 所有记录 或过滤后的记录 我知道我可以在 before filter 中使用 per p
  • 为什么 Rails 中的区域设置充当全局(使用 Thin 时)?

    我刚刚意识到在控制器中设置区域设置的推荐 Rails 方法 before filter set locale def set locale I18n locale params locale I18n default locale end

随机推荐

  • 如何使用麻雀图在 wp8 中创建简单的区域系列

    我需要为我的 wp8 应用程序创建一个面积系列图表 所以我决定使用 Sparrow 工具包 但不幸的是 网上似乎确实有任何教程 我只是在研究如何开始它 所以如果有人可以给出基本的解释或给我指出一个像样的教程 那就太好了 如果有人知道更好的工
  • 如何获取隐藏 ID 来删除 jQuery 数据表中的记录

    我的 jQuery 数据表中有 编辑 和 删除 按钮 第一列是记录 ID 列并且是隐藏的 我有 编辑 和 删除 按钮的事件处理程序 我应该使用 DataTable click 和 tr 函数的事件处理程序来获取 id 或者如果使用按钮事件处
  • 错误:Fortran 格式字符串中的格式字符串意外结束

    尝试从 Fortran 77 程序编译复制的代码时出现此错误 code 900 FORMAT 1H0 2X ABSOLUTE GRID LIMITS FOR DATA RETENTION FOR RADAR I3 XMIN XMAX 2F8
  • 动态分配的二维数组

    我正在尝试通过动态分配来构建二维数组 我的问题是 它的第一个维度是否有可能采用 100 个值 然后第二个维度将根据我的问题采用可变数量的值 如果可能的话我将如何访问它 我怎么知道第二维度的边界 见代码中的注释 结果你会得到一个如下所示的数组
  • 使用 GetModuleHandle 获取指向 IMAGE_DOS_HEADER 的指针?

    一旦进程加载到内存中 我就试图获取它的图像库 根据我的理解 您可以调用 GetModuleHandle 来获取图像库 我的问题是 返回的句柄本质上是否指向 IMAGE DOS HEADER 结构 以便您可以执行以下操作 PIMAGE DOS
  • 为什么 Rust Closure 在被调用之前取得所有权

    我正在阅读 Rust 这本书 正在阅读描述闭包的章节 我有点困惑为什么以下示例由于闭包获取所有权而出错 fn main let x vec 1 2 3 let equal to x move z z x println can t use
  • 在内联汇编中访问 C++ 类成员

    问题 如何从非 POD 类中访问程序集中的成员变量 详细说明 我已经为类成员函数编写了一些内联汇编代码 但令我困惑的是如何访问类成员变量 我已经尝试过offsetof宏 但这是一个非 POD 类 我当前使用的解决方案是将全局范围的指针分配给
  • 提供密钥时,Google 静态地图始终返回 403

    如果我在地图请求中提供 API 密钥 我总是会收到 403 Forbidden 响应 无需指定 一切都会顺利 我可以到达地图 问题是我必须使用 API 密钥才能监控使用情况和每用户配额 这是一个例子 http jsfiddle net de
  • MySQL中如何存储科学计数法数字

    我想在 MySql 中存储科学记数法数字 我已将它们保存到具有数据类型的字段中decimal 问题是它以正常表示法存储它 至少当我在 MAMP 附带的 Web 控制台中查看数字时看起来是这样 因此您需要为该字段分配更多字节 我相信这会导致拥
  • WebAPI / Owin - 登录后身份未授权

    我正在使用 WebAPI Owin 3 0 实现简单的登录 密码身份验证 这是我的配置方法 public void ConfigureAuth IAppBuilder app Configure the db context and use
  • C++ 类成员的默认值是多少

    C 中结构成员和类成员的默认值是什么 这些规则有何不同 例如 类 结构 基元 等之间 关于默认值的规则是否存在不同的情况 在 C 中 结构和类在这方面没有区别 他们都被称为只是类别类型 一般情况下 类类型的成员没有默认值 为了让类成员获得确
  • Rust 中 tribonacci 序列的惯用实现

    我是 Rust 新手 但作为 Haskell 的粉丝 我非常欣赏这种方式match在 Rust 中工作 现在 我面临着一种罕见的情况 我确实需要失败 从某种意义上说 我希望执行几个重叠案例的所有匹配案例 这有效 fn options sta
  • 有没有一种 CSS 方法可以保证正方形适合窗口而不滚动?

    我可以在 JavaScript 中轻松完成此操作 但想知道是否可以使用直接 CSS 在窗口中保留一个适合窗口大小的方形 div 无论它是什么 我发现的任何解决方案都不能解决高度小于宽度的问题 从逻辑上讲 我想要的是 当窗口宽度小于高度时 给
  • 仅保存活动工作表的宏

    在下面的代码中 它保存了完整的工作簿 我只想保存活动工作表 Sub sbVBS To SAVE ActiveWorkbook ActiveWorkbook Save End Sub 将工作表复制到任何位置都会自动在前台创建一个新工作簿 并将
  • 致命:git 的构建不支持 git-add--interactive (NO_PERL=1)

    当我执行 git add i 时 它会弹出此错误 致命 git 的构建不支持 git add interactive NO PERL 1 我迫切需要帮助 使用 Git 2 25 2020 年第一季度 五年后 Perl 不应再成为git ad
  • chrome vs FF/IE/Opera 在计算表格单元格宽度时? (表格布局:固定)

    我现在已经搜索了差不多半天了 但我找不到为什么chrome6 7似乎是与IE8 FF3 6 Opera相比唯一不添加填充到指定宽度的浏览器一个表格单元格的 当然 如果您使用 table layout fixed 这变得至关重要 因为他们突然
  • 为什么我网站上的所有 html 表单都禁用 Internet Explorer 自动完成功能?

    当为表单打开 Internet Explorer 自动完成功能时 HTML 表单中每个字段的条目应被缓存 并在用户第二次开始在表单中输入内容时显示为提示 在我的网站上 该网站上存在的任何表单都不会显示自动完成功能 但其他网站却毫无问题地保留
  • 根据数据表值在 gridview 中设置复选框

    我有一个带有复选框字段和几个绑定字段的 gridview 控件 复选框字段不直接映射到数据库中的字段 相反 我想从数据库中的字段读取值并 选中 一些复选框 例如 给定数据库中的以下数据 gt 数据表 PROCESSED NAME DATE
  • mongoDB 32位2GB限制,最佳实践

    Mongo 新手 在 Windows XP 上运行 32 位 Mongo 2 0 1 目前没有运行 64 位的选项 我想使用 Mongo 来映射减少一组 60 个文件 每个文件都是同一个 20 000 行 x 100 列表的每月快照 理想情
  • Rails 如何显示父对象的属性

    我正在尝试使用 Rails 4 制作一个应用程序 我有 2 个表 user rb 和 profile rb User has one profile Profile belongs to User 用户具有名为 first name 和 l