html - 如何使用 form_for 显示无法编辑的 text_field?
问题描述
我正在尝试在我的一个页面上设置一个表单,其中列出了一些不可编辑的信息。我的页面代码如下所示:
<%= form_for @quote do |f| %>
<h2 class='h2Title'>Follow Up Popup</h2>
<div class="field" id="msQuoteNumber">
<%= f.label "Quote Number:" %>
<%= f.text_field :quote_number %>
</div>
<% end %>
我的页面如下所示:
现在我正在使用我的数据库f.text_field :quote_number
中的字段来填写该字段。quote_number
然而,这让用户可以在我不想要的字段中输入他们想要的任何内容。text_field
除了简单地显示quote_number
为常规文本之外,我还可以使用其他方法吗?
解决方案
仅显示输入字段并仅在编辑时禁用:
<%= f.text_field :quote_number, disabled: !(@quote.new_record?) %>
在 Controller 中,:quote_number
如果您正在编辑,只需从允许的属性中删除键,这样在通过浏览器的 Inspect Element 功能更改报价编号然后提交表单后,没有人可以更新报价编号。
推荐阅读
- apache-pulsar - apache pulsar:存储写入延迟与发布延迟
- sql - 从 Postgres 中的表函数返回多行的最简单方法是什么?
- unit-testing - 如果它们是相同的类型,为什么我需要传递一个参数的类型而不是另一个参数?
- vue.js - [Vue 警告]:观察者类型错误的回调错误:无法使用“in”运算符搜索
- python - ImageGrab.grab 没有得到 tkinter 窗口的小部件,而是它下面的屏幕区域
- python - 使用 pandas 连接多索引列
- c# - 脚本附加到多个对象时旋转单个对象
- php - 如何从其他共享主机服务器访问 VPS 根目录中的文件?
- azure - 如果我移动资源,如何在 Azure 中保留应用服务的入站和出站 IP 地址?
- odoo - 如何打印索引号而不是服务产品 qweb?