水豚 fill_in 只适用于字段 id,为什么?

2024-03-23

在运行我的 rspec 测试时,我收到错误 Capybara::ElementNotFound:无法找到字段“名字”

我的rspec测试如下

 describe "with valid information" do
  before do
    puts page.body
    fill_in "First Name",   with: "Matthew"
    fill_in "Email",        with: "[email protected] /cdn-cgi/l/email-protection"
    fill_in "Password",     with: "foobar"
  end

  it "should create a user" do
    expect { click_button submit }.to change(User, :count).by(1)
  end
end

我的表单视图是这样的

<%= form_for(@user) do |f| %>
  <%= f.label :first_name %>
  <%= f.text_field :first_name %>

  <%= f.label :email %>
  <%= f.text_field :email %>

  <%= f.label :password %>
  <%= f.password_field :password %>

  <%= f.submit "Create my account", class: "btn btn-large btn-primary" %>
<% end %>

所以经过几个小时的猛烈抨击之后,我尝试更换

fill_in "First Name",   with: "Matthew"

with

fill_in "user_first_name",   with: "Matthew"

(即使用字段 ID 而不是名称)

我的问题是为什么这只适用于字段 id ('user_first_name') 而不是字段名称 ('First Name')?


Rails 使用human_attribute_name method http://apidock.com/rails/ActiveModel/Translation/human_attribute_name执行此操作时输出标签文本f.label :first_name.

这意味着标签的文本是“名字”,而不是“名字”,所以这就是您需要提供给水豚的内容。

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

水豚 fill_in 只适用于字段 id,为什么? 的相关文章

随机推荐

  • 如何在 Perl 中进行字母数字排序?

    我有一个如下所示的文件 80 1p21 81 19q13 82 6p12 3 83 Xp11 22 84 3pter q21 86 3q26 33 87 14q24 1 q24 2 14q24 14q22 q24 88 1q42 q43 8
  • 在 GCP App Engine 标准环境上安装 cmake 的解决方法

    我需要安装dlib封装在应用程序引擎标准对于需要的应用程序cmake 以下是我在安装时遇到的错误 我尝试添加cmake and cmake setup在requirements txt中但没有用 ERROR Failed to build
  • 在 c# 2008 中使用正则表达式验证的电话号码验证?

    我想验证这种格式的电话号码 即 919981424199 91231456789 我正在使用 Asp net c 2008 来开发网站 为此 我使用了正则表达式验证控件 gt 属性 gt 验证表达式 0 9 0 9 但这接受号码为91998
  • Emacs 确定键盘布局

    Emacs 有没有办法检测当前的键盘布局 我经常用英语和德语写文本 切换 Win 操作系统 键盘布局 但是 某些功能 例如 C Y 应始终位于相同的物理键上 无论我当前使用哪种语言进行输入 Thanks 考虑使用M x set input
  • 使用 Firebase 和 APNs 身份验证密钥进行生产推送通知

    在 TestFlight 上测试我的应用程序时 我注意到我没有收到推送通知 我已确认 当从 Xcode 加载构建时 我可以收到从云函数和 firebase 控制台发起的通知 我引用了其他类似的问题 但没有一个反映我正在处理的确切问题 在 F
  • 如何将文件保存到 MongoDB?

    我想将用户选择的文件保存到 MongoDB 如何正确地将文件添加到 BSON 对象以便将其添加到 MongoDB 如果我的方法不正确 请指出正确的方向 下面是客户端代码 此 jQuery 函数收集每个输入字段上的文本 需要文件部分的帮助 并
  • Spring Boot 几分钟后停止解析视图

    我有一个 Spring Boot 应用程序 它突然停止解析视图 而是向我抛出 404 错误 这些是我的依赖项
  • 如何从代码隐藏中确定 ASP.NET 生成的 ID?

    在 ASP NET 中 当您为标签提供 ID 时 它会根据控件层次结构为该元素生成唯一的 HTML id 即
  • 如何在未聚焦时保持 WPF 文本框选择?

    我想在 WPF TextBox 中显示一个选择 即使它没有焦点 我怎样才能做到这一点 我已将此解决方案用于 RichTextBox 但我认为它也适用于标准文本框 基本上 您需要处理 LostFocus 事件并将其标记为已处理 protect
  • d3 强制定向图删除文本光标

    当我向 d3 力定向图形布局中的节点添加文本时 当我将鼠标悬停在该节点上时 鼠标指针会更改为文本光标 有没有办法避免这种情况并始终让它保持常规指针 普通指针 文本光标 这是一个fiddle http jsfiddle net pkerped
  • 在哪里可以找到 Java API 代码[重复]

    这个问题在这里已经有答案了 我听说Java是开源代码 那么 我可以获得 Java API 编码方法吗 如果是这样 请告诉我在哪里可以获取 Java API 的源代码 您可以在src zip在JDK安装目录下 From Java docs h
  • 使用应用程序中存储的图像的本地路径将 Web 应用程序加载到 Web 视图中

    我希望能够创建一个使用 WebView 请求 url 的应用程序 从外部 Web 应用程序返回 html 和 css 引用作为实际应用程序中的资产的图像 这 想法基本上是加速一切 以便图像永远不必 被下载 这是一个简化的示例 服务器 HTM
  • 不考虑锁的文件只读访问 (C#)

    如何打开 使用 C 已打开的文件 例如在 MS Word 中 我想如果我打开文件进行读取访问 例如 FileStream f new FileStream filename FileMode Open FileAccess ReadWrit
  • 如何知道分数中的循环小数?

    我已经知道分数何时是重复小数 这是函数 public bool IsRepeatingDecimal get if Numerator Denominator 0 return false var primes MathAlgorithms
  • Tradingview Pine-Script:如何仅绘制最后 x 个周期

    我只想绘制最后 x 个周期的指标 我怎么做 如果我可以进行时间操作 从plotStartDate中减去x period 也许我可以使用以下代码 period timeframe ismonthly or timeframe isweekly
  • SPLoginViewController 用于记住凭据

    在 CocoaLibSpotify 中 如何让 SPLogin ViewController 存储凭据 以便用户稍后可以通过 PSSession sharedSession attemptsLogin WithStoredCredentia
  • Laravel 5.5 使用自定义消息进行验证

    我正在我的 laravel 应用程序中处理密码更改表单 我想将验证器与自定义错误消息一起使用 我的代码如下所示 rules username gt required max 255 oldpassword gt required max 2
  • 与模块相比,使用具有静态函数的类有什么优势吗?

    我想要一些建议 我正在使用打字稿来创建对话框 一旦创建 它们就会自行处理 因为它们有自己的提交按钮并进行自己的检查 以下两种编码方式有什么优点或缺点吗 到目前为止 我唯一能看到的是 带有导出的模块方法允许我隐藏一个函数 并在不导出它的情况下
  • 如何更改 bookdown pdf 中的字体和磅值?

    我正在写一个文档 严格要求使用arial 12点 我在 bookdown 中修改了输出 yml 如下所示 site bookdown bookdown site fontsize 12pt fontfamily arial document
  • 水豚 fill_in 只适用于字段 id,为什么?

    在运行我的 rspec 测试时 我收到错误 Capybara ElementNotFound 无法找到字段 名字 我的rspec测试如下 describe with valid information do before do puts p