首页 > 解决方案 > 如何使用 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为常规文本之外,我还可以使用其他方法吗?

标签: htmlruby-on-rails

解决方案


仅显示输入字段并仅在编辑时禁用: <%= f.text_field :quote_number, disabled: !(@quote.new_record?) %>

在 Controller 中,:quote_number如果您正在编辑,只需从允许的属性中删除键,这样在通过浏览器的 Inspect Element 功能更改报价编号然后提交表单后,没有人可以更新报价编号。


推荐阅读