Rails:如果变量存在,则为输入字段设置一个值

2024-04-14

当 id 传递到控制器中的新操作时,我尝试为两个文本字段输入设置一个值。当前的代码可以工作,但我想知道是否可以缩短代码。

当前代码

View

<div class="custom-input">
  <% if @debtor %>
    <input type="text" name="debtor_name" class="form-control" id="debtor-search-form" value='<%= @debtor.name %>'>
  <% else %>
    <input type="text" name="debtor_name" class="form-control" id="debtor-search-form">
  <% end %>
</div>
<% if @debtor %>
  <%= f.text_field :debtor_id, class: "form-control", value: @debtor.id %>
<% else %>
  <%= f.text_field :debtor_id, class: "form-control" %>
<% end %>

我尝试删除 if-else 部分以使代码更短

更短的代码

View

<div class="custom-input">
    <input type="text" name="debtor_name" class="form-control" id="debtor-search-form" value='<%= @debtor.name if @debtor %>'>
</div>
<%= f.text_field :debtor_id, class: "form-control", value: @debtor.id if @debtor %>

当没有债务人被传递时,缩短的代码导致第一个输入具有“悬挂”值标签(即它只显示值。后面没有等号)

<input type="text" name="debtor_name" class="form-control ui-autocomplete-input" id="debtor-search-form" value autocomplete="off">

而第二个输入消失。

“悬挂”价值标签可以吗?我检查了 html,如果我单击“编辑为 html”,“悬挂”值标签将解析为 value=""

有没有办法缩短代码,或者我应该坚持使用它?


拥有一个 HTML 属性value很好,在 HTML5 中。另外,rawHTML 源代码可能如下所示value='',根据你的判断html.erb code.
我猜您正在使用 Chrome 或 Firefox 开发者工具,它会尝试correct并为您格式化看起来很奇怪的 HTML,并且可能会显示它而没有空=''.

那么,这个的问题是:

<%= f.text_field :debtor_id, class: "form-control", value: @debtor.id if @debtor %>

是运算符优先级。你的if适用于整个声明。
尝试使用:

<%= f.text_field :debtor_id, class: "form-control", value: (@debtor.id if @debtor) %>

Or:

<%= f.text_field :debtor_id, class: "form-control", value: @debtor.try!(:id) %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails:如果变量存在,则为输入字段设置一个值 的相关文章

  • 如何在 Rails 4 中使用 params.require

    我有一个像这样的私有方法 用于有四个字段的注册表单 firstname email password and confirm password 我不知道如何检查password confirmation def user params pa
  • 如何从 Rails 中的 date_select 或 select_date 获取日期?

    Using select date给我回一个params my date with year month and day属性 如何轻松获取 Date 对象 我希望有类似的事情params my date to date 我很高兴使用date
  • 如何在 Rails 测试中测试 params 哈希?

    以下内容会生成错误 未定义的局部变量或方法 params assert equal params recipient id users one id 如何测试参数哈希 另外 你如何测试assert redirect当存在参数时 参数附加到
  • Rails 控制台无法运行

    rbenv 红宝石版本 2 6 6 导轨版本 5 1 4 我正在较旧的代码库中工作 ruby 2 6 6 rails 5 4 1 这是我每天使用的代码库 我必须通过 rbenv 下载一个新的 ruby 版本作为单独的存储库 这样做在我的旧代
  • 仅删除多对多关系

    我有一个 has and belongs to many friends join table gt friends peoples 要添加朋友 我会这样做 people followers lt lt friend这会创建关系和新的个人资
  • 如何使用 Rspec 测试具有嵌套路由的控制器?

    我有 2 个使用轨道脚手架生成器创建的控制器 我希望它们嵌套在一个名为 demo 的文件夹中 所以运行 rails g scaffold demo flows rails g scaffold demo nodes 然后我决定将节点嵌套在流
  • 用户未定义的方法 attr_accessible 错误

    我正在尝试创建某种登录 我创建了一个用户脚手架并将此代码放在我的 user rb 中 class User lt ActiveRecord Base attr accessible name password digest password
  • Postgres JSON 数据类型 Rails 查询

    我正在使用 Postgres 的 json 数据类型 但想要使用嵌套在 json 中的数据进行查询 排序 我想在 json 数据类型上使用 where 进行订购或查询 例如 我想查询关注者数量 gt 500 的用户 或者我想按关注者或关注数
  • 资产管道:仅对一个控制器使用 javascript 文件

    在 Ruby on Rails v4 中 我希望仅为特定控制器加载一个 js 文件 或一组 js 文件 执行此操作的标准方法是什么 在 application js 中有 require tree 线 我假设这需要删除 所以我并不总是加载每
  • 服务器上的 Rails 会话

    我想让一些 Rails 应用程序在不同的服务器上共享同一个会话 我可以在同一服务器内完成此操作 但不知道是否可以在不同服务器上共享 有人已经做过或者知道怎么做吗 Thanks Use the 数据库会话存储 https github com
  • 我想要一个默认选择空白值的日期选择框

    我用了以下date select助手 但没有一个显示默认情况下选择空白值的日期选择框 通过以下所有代码 我得到了选择框 但选择了当前日期 我在 Rails 2 3 2 上
  • Ruby on Rails 服务器在 HTTPS POST 请求期间崩溃

    我正在尝试与你沟通城市飞艇API http urbanairship com docs push html broadcast使用 ROR Web 应用程序 在我的控制器中 我有以下代码 require net http require n
  • Heroku Rails 应用程序级别不记录日志

    我在 Heroku 上有一个 Rails 应用程序 它没有在应用程序级别进行日志记录 当前版本 红宝石1 9 3 导轨3 1 3 在 config environment development rb 中有以下几行 config logge
  • 无法在 Rails 4 中使用回形针保存图像属性

    我的 Rails 4 应用程序中有两个关联的模型 product rb and image rb 图像模型允许使用回形针 gem 附加文件 Images belong to一个产品 一个产品has many Images 我想使用该产品ne
  • 将查询字符串参数作为表单发布的一部分发送

    有没有办法捕获查询字符串并将其作为表单帖子的一部分发送 我正在使用 Rails 2 3 5 我的用户所在的页面有多个查询字符串参数 在此页面上 他们将提交一份表格 在接收帖子的操作中 我想知道这些查询字符串参数是什么 显然 它们不是作为邮件
  • Rails 3:如何让用户在表单中至少选择一个复选框?

    我有一个表单 用户在提交表单之前必须选中至少一个复选框 有没有任何插件可以处理这个问题或者jquery可以应用于我的表单 不幸的是我完全是一个 jquery 菜鸟 上面的所有答案都显示了如何在客户端执行此操作 这确实可能更好 正如您的问题标
  • Rails 中的嵌套布局

    Rails 3 2 中可以嵌套布局吗 我想创建 application html erb 使用的通用布局 并允许应用程序中的几个视图使用它 我找到了嵌套布局 https github com eric nested layoutsruby
  • Rails 3.2:用 json 序列化中的空字符串替换 null 值

    我正在使用 Rails 3 2序列化 http www simonecarletti com blog 2010 04 inside ruby on rails serializing ruby objects with json 将 ru
  • Rails 中的字母分页

    我正在寻找 Rails 的宝石用于字母分页 我希望我可以在结果中找到第一个字母的列表 我的意思是 如果没有以 a 开头的行 我不希望 a 显示在分页链接上 这种宝石已经存在了吗 提前致谢 这根本不难创建 例如 如果您有一个find 也许像
  • 使用 AJAX 和 JQuery 按设定的时间间隔刷新 Rails 部分

    I have a page in my rails application that looks like 现在 我有另一个用 python 编码的人工智能应用程序 它处理视频 显示在 Rails 应用程序页面的左侧 并使用捕获的车辆及其相

随机推荐

  • 如何在 Visual Studio 中关闭构建定义的缓存

    在项目文件中我导入我自己的目标文件
  • Python:格式化使用“%”和“{”作为字符的正则表达式字符串

    我有以下正则表达式 它允许我使用 re split 解析 20 20 或 20 50 等百分比 0 9 1 3 我想使用字符串格式将系列标识符 即 作为 config py 的参数传递 SERIES 我尝试过的两种方法都产生了错误 新式格式
  • 如果“target”属性与某个字符串通过 jQuery 匹配,则获取该属性的值

    假设我有一些链接 a href target self a a href target self a a href target self a 如何获取以 UniqueString 开头的目标属性的值 元素的ID未知 我们需要通过 targ
  • 显示软键盘时向上移动布局?

    我在RelativeView中有一些元素设置了对齐底部属性 当软键盘出现时 这些元素被软键盘隐藏 我希望它们向上移动 以便如果有足够的屏幕空间 它们会显示在键盘上方 或者使键盘上方的部分可滚动 以便用户仍然可以看到元素 关于如何解决这个问题
  • .NET MAUI 每天运行几次的循环后台作业

    我希望后台工作每天运行 2 3 次 但更少也没关系 这只是对我的服务器的快速 api 调用 不需要更新 UI 事实上我更喜欢它在应用程序不在前台时运行 但这是另一个主题 我读过最新版本的 Android 和 iOS 甚至制造商限制了该应用程
  • 是否可以用 phongeap 目录中的其他数据库文件替换现有的 sqlite 数据库文件

    我有一个要求用其他数据库文件替换设备数据库 就像备份和存储目录 下载 备份 应用程序名称 或服务器一样 如果我们删除数据或丢失手机 那么我已经从服务器恢复数据并替换为设备数据库文件 我正在尝试使用代码 但仅替换数据库我没有得到 functi
  • scrollsToTop 不适用于 UIViewController 包含

    使用SDK 6 1 Xcode 4 6 1 我制作了一个新项目Master Detail iOS App ARC 没有故事板 然后在DetailViewController 在里面viewDidLoad我添加两个UITableView包含在
  • 我应该选择哪个 graphql-spring-boot-starter ?

    我正在考虑将 GraphQL 功能添加到我的 Spring Boot 应用程序中 我发现有两个工件可以做到这一点 One is com graphql java kickstart graphql spring boot starter另一
  • 用 Espresso 单击 EditText 的可绘制右侧

    如何才能单击 EditText 右侧可绘制对象 检查屏幕截图 我尝试了多种方法 但总是陷入困境 public static Matcher
  • 在开始动画之前修改 iPhone 动画容器视图

    我正在向我正在开发的纸牌游戏添加一些基本动画 我的第一个 iPhone 应用程序 我正在创建一个自定义 UIView 类 AnimationContainer 它从 image1 翻转到 image2 同时从 rect1 移动到 rect2
  • 阅读 Whatsapp 消息

    我想创建一个 Android 应用程序来读取收件箱以及 Whatsapp 消息 我想做一个备份之类的东西 尽管可以在 Whatsapp 中选择这样做 但我想阅读这些消息 然后从我的应用程序中备份它们 我了解到 Whatsapp 在文件系统中
  • Symfony2表单类型实体添加额外选项

    我有以下 Symfony 表单字段 它是从实体加载的下拉列表 gt add measureunit entity array label gt Measure Unit class gt TeamERPBaseBundle MeasureU
  • Python正则表达式替换

    嘿 我正在尝试找出一个正则表达式来执行以下操作 这是我的字符串 Place 08 09 2010 15 531 2 909 650 我需要用逗号分隔该字符串 尽管由于数字数据字段中使用了逗号 但分割无法正常工作 所以我想在运行分割字符串之前
  • 处理和解决“网络使用过多(后台)”的正确方法

    问题背景 当前 我们面临 网络使用过多 背景 来自 Android Vital 报告 最后30天是0 04 但我们只是好于 9 过去 30 天 0 04 基准 优于 9 由于仅好于9 看起来像是一件可怕的事情 我们决定认真研究这个问题 该应
  • 如何在 x86_64 上准确地衡量未对齐访问速度?

    In 一个答案 https stackoverflow com questions 45116212 are packed structs portable 45116730 45116730 我已经说过 在很长一段时间内 未对齐访问的速度
  • 如何始终返回index.html Tomcat

    我有一个在 Tomcat 上运行的 Angular 应用程序 但由于我已经实现了路由 如果我手动访问一个 url 我会得到一个404未找到 另外 当发生错误时 它是一个基本的服务器页面 而不是我的错误 url 页面 如何配置 Tomcat
  • 引用表达式早期部分的匹配项的正则表达式

    我正在寻找一个正则表达式 它将标识一个序列 其中文本中的整数指定表达式末尾的尾随字母数 该具体示例适用于识别堆积格式的遗传数据中的插入和删除 例如 如果我正在搜索的文本是 AtT 3ACGTTT 1AaTTa 我需要匹配插入和删除 在本例中
  • 如何在客户端启动桌面应用程序

    在我的网页中 我必须在客户端计算机上启动桌面应用程序 如果已安装 知道我该怎么做吗 如果应用程序是 MS Office 或 Adob e Reader 我知道如何启动它们 但我要启动的应用程序是自定义应用程序 您无法在互联网上找到它 我如何
  • 如何使注册的符号不显示下划线?

    我遇到了问题 无法显示带有下划线的单词的一部分和没有下划线的单词的一部分 我希望 已注册 符号没有下划线 HTML h3 Basecamp span class sup reg span h3 CSS h3 font size 21px c
  • Rails:如果变量存在,则为输入字段设置一个值

    当 id 传递到控制器中的新操作时 我尝试为两个文本字段输入设置一个值 当前的代码可以工作 但我想知道是否可以缩短代码 当前代码 View div class custom input div