一对一:未定义的方法构建

2023-11-27

一对一关系有问题

我有一些比赛,我想为一场比赛获得一个分数。

我的比赛.rb

has_one :score, :dependent => :destroy

我的分数.rb

belongs_to :match

我的 Scores_controller.rb

def new
@match = Match.find(params[:match_id])
@score = @match.score.new
end

def create
@match = Match.find(params[:match_id])
@score = @match.score.create(params[:score])
end

我的路线.rb

resources :matches do
resources :scores
end

我的分数/new.html.haml

= form_for([@match, @match.score.build]) do |f|
    = f.label :score1
    = f.text_field :score1
    %br
    = f.label :score2
    =f.text_field :score2
    %br
    = f.submit

我得到的错误

undefined method `new' for nil:NilClass

到目前为止,我还没有处理过一对一的关系,因为我对 RoR 还很陌生,有什么建议吗?

EDIT

编辑我的代码以匹配 create_score 和 build_score ,似乎有效。但现在我有一些奇怪的行为。

在我的 Score.rb 中

attr_accessible :score1, :score2

但是当我尝试在 matches/show.html.haml 中调用时

= @match.score.score1

我收到一个未知的方法调用或者我根本没有看到任何东西......但是如果我只是调用

= @match.score

我得到一个返回的分数对象(例如#)#

EDIT 2

已解决问题。我正在打电话

分数/new.haml.html

= form_for([@match, @match.create_score])

需要是

= form_for([@match, @match.build_score])

一切都按预期进行。

需要进入 Rails 控制台并获取这些对象才能看到每个 :score1 :score2 为 nil


Use build代替new:

def new
    @match = Match.find(params[:match_id])
    @score = @match.build_score
end

以下是这方面的文档:http://guides.rubyonrails.org/association_basics.html#belongs_to-build_association

同样,在create方法中,这样做:

def create
    @match = Match.find(params[:match_id])
    @score = @match.create_score(params[:score])
end

为此的文档:http://guides.rubyonrails.org/association_basics.html#belongs_to-create_association

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

一对一:未定义的方法构建 的相关文章

  • Ruby on Rails 离线编程

    我将离开互联网几周 但仍然想完成一个项目 我应该采取哪些步骤来确保在断开连接时能够访问我需要的内容 ruby 和 ROR 离线时 以下内容很难获得 gems docs Rails 专家博客 堆栈溢出 so gem 安装尽可能多 下载所有的轨
  • Ruby on Rails Webpacker 找不到 asset_pack_path 下的图像

    我在使用 Ruby on Rails Webpacker 在视图中包含图像时遇到问题 当我尝试使用 html img 标签和 asset pack path 在我的视图中插入图像时 出现错误 我的图像位于app javascript ima
  • 默认:Rails 资源路由的排除选项

    一个小问题 我正在将 Rails 用于 REST API 但由于它是 RESTful API 所以我并不真正需要 new or edit我的任何资源的路由 因为人们只会完全通过自动 JSON 请求而不是图形方式与此 API 交互 例如 不需
  • 使用设计宝石导轨注销用户

    在管理部分 我显示当前登录用户的列表 现在管理员可以选择一个或多个用户并销毁他们的会话 注销他们 我不知道从哪里开始 请帮助我 您可以使用sign out通过传入用户对象在控制器操作中的方法 Make sure only admins ca
  • 创建费用前验证 CVC 代码

    我正在尝试检查用户输入的 cvc 代码 我已经存储了条带 customer id 和条带 card id 我想在向用户收费之前验证 CVC 代码 以下是创建费用的代码 charge Stripe Charge create amount g
  • 使用 Mechanize (Ruby) 进行基本身份验证和表单身份验证

    我正在尝试登录公司内部网上的一个站点 该站点具有基本身份验证弹出对话框和基于表单的身份验证 这是我正在使用的代码 导致 401 gt Net HTTPUnauthorized 错误 require rubygems require mech
  • 如何在 Ruby 中创建自定义排序方法

    我想指定一个自定义块方法 通过评估两个属性来对对象数组进行排序 然而 经过多次搜索 我没有找到任何没有的例子 lt gt 操作员 我想比较a to b if a x less than b x return 1 if a x greater
  • 通过 SSL 发布 UTF-8 时,HEROKU 上出现“EOFError:已到达文件结尾”

    我在 heroku 上遇到了奇怪的错误 为了重现它 我必须使用请求正文中的任何 UTF 8 字符制作大的 超过几 KB HTTPS POST 这是一个例子 require net https require uri Accutally I
  • Capistrano:deploy.rb 文件重构

    我的deploy rb中有以下代码 namespace app do desc copies the configuration frile from shared config yml to config task copy config
  • 为什么 Rails 应用程序在底部显示数据库信息?

    我创建了一个博客 每当我添加帖子时 帖子索引页面底部总会显示数据库中的记录列表 home html erb 像这样
  • 黄瓜与 RSpec

    我想开始深入研究 BDD 我以前从未使用过 TDD 现在 不确定我是否应该从学习 RSpec 开始 然后跳到 Cucumber 或者直接使用 Cucumber 我一直在互联网上阅读有关两者的内容 在我看来 Cucumber 可能是 RSpe
  • Rails 3 分页,will_paginate 与 Kaminari

    我的设置 Rails 3 0 9 Ruby 1 9 2 我正在为我的应用程序寻找分页解决方案 发现有一个新的宝石Kaminari与值得信赖的人相比will paginate 看起来像will paginate有一段时间没有更新了 但后来又以
  • Devise:允许用户注册为“UsErNaMe”但使用“用户名”登录

    与大多数网站的工作方式相同 我将 UsErNaMe 存储在数据库中 但让用户使用 用户名 登录 这是一个相当明显且必要的功能 很多人似乎都问过它 但我不断遇到的解决方案似乎与 Devise 自己的文档脱节 例如 考虑这篇博文 http an
  • ubuntu 12.04 ruby​​ 2.0 Rails:找不到“thread_safe”

    我正在 ubuntu 12 04 上安装 Rails 使用以下方法手动安装 如何在 Ubuntu 12 04 上正确安装 ruby 2 0 0 https stackoverflow com questions 16222738 how t
  • 为 Rails 上的 postgresql 创建用户

    我选择 postgresql 作为我的 Rails 数据库 但当我尝试运行 rake db create all 时 我遇到了一个明显常见的错误 即 致命 角色 app 不存在 我找到了两种解决方案 但我不确定哪一种是正确的 有一个网站说
  • rake db:migrate db:reset 和 db:schema:load 之间的区别

    和 之间的不同rake db migrate and rake db reset我很清楚 我不明白的是如何rake db schema load与前两者不同 只是为了确保我在同一页面上 rake db migrate 运行尚未运行的迁移 r
  • 如何将 devise/omniauth 重定向到我登录的页面?

    我通过omniauth 进行了身份验证 并且该链接通过layout application html haml 在每个页面上都可用 然而 当他们完成omniauth身份验证后 他们都会进入root权限 我如何设置它 以便他们重定向到他们单击
  • <%=h ... %> 在 Rails 中意味着什么?

    I found here http api rubyonrails org classes ActionView Helpers RecordTagHelper html以下语法 什么是h means 它用于转义标签的输出以避免跨站点脚本
  • 从数组中删除空白元素

    当我从 ruby on Rails 表单中保存多个选择时 它似乎在前面添加了一个空白元素 我该如何删除它 该字段为 selected player utf8 gt authenticity token gt H8W7qPBezubyeU0a
  • Rails content_for 和yield 之间有什么区别?

    例如 content for stuff vs yield stuff 我知道它们的实现略有不同 但是有任何真正的功能差异吗 是否有普遍接受的最佳实践 yield是您指定内容区域在布局中的位置的方式 你可能有这样的事情 div h1 Thi

随机推荐

  • Eclipse 调试 - 行:不可用

    我似乎在谷歌上找不到任何东西告诉我为什么会这样以及解决方案是什么 我正在逐步执行第三方代码 我有源代码 并且非常希望看到当前行正在执行 查看 javac 编译标志 我看到 g none 标志 如果设置了此标志 这是否足以解释为什么我看不到行
  • 在 Angular2 中跨模块共享服务的最佳方式是什么

    我正在使用如下所述的应用程序结构 index ts app module ts app component ts hero directory hero module ts hero ts Data Object hero service
  • S4方法调度慢吗?

    我的 S4 类有一个被调用多次的方法 我注意到执行时间比独立调用类似函数要慢得多 因此 我在类中添加了一个类型为 function 的槽 并使用该函数而不是该方法 下面的示例显示了执行此操作的两种方法 并且它们的运行速度都比相应的方法快得多
  • 理解平行存在并找到

    我拿一个List Int 并想要搜索一个值x where x 10 gt 500在平行下 所以exists应该返回true如果列表包含 51 或更大的任何值 def f x Int println calculating for x Thr
  • Multipart/form-data 不支持 request.getparamerter [重复]

    这个问题在这里已经有答案了 我有一个表格 它有文件上传部分以及几个输入字段 我在用request getParameter 将值从 jsp 获取到 servlet 但是当我添加encrypt multipart request get参数不
  • 过滤数据框

    我已读取矩阵形式的 csv 文件 有 m 行和 n 列 我想通过以口头形式进行过滤来过滤矩阵 选择 x 列中的所有值 其中该行中另一列的值等于 blabla 这就像数据库中的选择语句 我说我对需要满足这些约束的矩阵的子集感兴趣 我怎样才能在
  • vue-router 总是创建一个新的 Component 实例

    我在 vue router 中发现了一个问题 这让我很受触动 当我在路由之间切换时 总是会创建组件的新实例 此外 旧实例不会被删除并在后台运行 我希望当我打开一条路线时 旧组件将被销毁或停止运行 有解决方法来解决这个问题吗 这是一个小提琴
  • XAPK 文件验证显示正确的数据信息

    在运行 APK 扩展文件示例时 我只是跳过了检查 CRC32 以避免 crc bug 算法 并且它工作得非常好 但是 虽然 XAPK 文件验证显示正确的下载数据信息为 99 如何避免这种情况并通过硬编码查看完整的 100 这不是最好的解决方
  • 仅选择启动首选项复选框中的一个复选框

    我的应用程序启动取决于用户偏好 具有三个不同的复选框 1 启动应用程序 没有启动画面和音乐 2 仅使用启动画面启动应用程序 3 启动带有启动画面和音乐的应用程序 使用下面的代码可以完美地工作 但仍有两点需要实现 FIRST只应选中一个复选框
  • Git 中的 tree-ish 是什么意思?

    我很困惑如何使用git archive 我有一个带有文件夹的 git 存储库Foo Bar and Baz在顶层 我需要导出文件夹Foo以类似 SVN 的方式进行快速测试部署 我了解到我可以使用git archive in an 类似 SV
  • Get-ChildItem 无法找到路径,因为它不存在

    我正在编写一个脚本来获取网络中所有共享的 ACL 我正在三个独立的 UNC 路径上运行它 三者中的两个工作正常 返回所有子项目和权限等 但是 第三个 UNC 路径返回以下错误 Get ChildItem Cannot find path s
  • 将十进制向量转换为二进制向量

    我需要将十进制数转换为二进制向量 例如 这样的事情 length de2bi length field 16 不幸的是 由于许可的原因 我无法使用此命令 是否有任何快速的简短技术可以将二进制转换为向量 这就是我正在寻找的 If Data 1
  • Spring ResponseEntity:使用构造函数还是静态构建器?

    在 Spring Boot RestController 中 我使用 springframework 类响应实体返回端点调用的响应 我最近发现有两种方法可以实例化这个类 使用构造函数 response new ResponseEntity
  • 使用 PowerShell 远程运行 Java

    当我跑步时电源外壳在远程会话中 etsn servername 我有时似乎无法运行Java进程 即使是最简单的 chi queuing PS C temp gt java cp hello jar Hello Error occurred
  • 不提示使用 OAUth2 重新进行身份验证。为什么以及如何强制它?

    我想了解一些事情 我有一个基于 oAuth2 和 Google 帐户的应用程序 因此 当我第一次连接到该网站时 我会被重定向到 Google 域上的身份验证页面 因此 我输入我的电子邮件和密码 但没有选中 受信任的计算机 或 记住我 我不记
  • 去除QComboBox listView阴影效果

    默认情况下 QComboBoxlistview有阴影效果 有办法去除吗 阴影是否由QStyle或者以其他方式 阴影效果不是 Qt 特定的东西 它是桌面主题特定的东西 阴影取决于您的桌面环境使用的样式 主题 如果您的样式 主题定义了 QCom
  • 使用java创建XML文件

    如何使用java创建一个xml文件并将其保存在我的机器中的某个位置 xml文件中还包含属性 我找到了 org w3c dom Document 但在为元素创建属性和保存 xml 文件时遇到问题 谢谢 您可以使用 DOM XML 解析器通过
  • MongoDB 使用外键将字段复制到另一个集合

    我想将颜色从用户集合复制到汽车集合 我使用的是外键 即 userID gt db test1 User find id ObjectId 515f7db83f71d6bcb1c41a48 age 33 Color blue id Objec
  • 什么时候应该使用 UserControl 而不是 Page?

    我注意到许多 WPF MVVM 框架似乎避免使用 NavigationWindow 和 Page 控件 而转而使用嵌套的 UserControls 来编写页面 NavigationWindow 和 Page 提供了在日志中启用后退和前进导航
  • 一对一:未定义的方法构建

    一对一关系有问题 我有一些比赛 我想为一场比赛获得一个分数 我的比赛 rb has one score dependent gt destroy 我的分数 rb belongs to match 我的 Scores controller r