如何使用form_for显示无法编辑的text_field?

时间:2018-07-12 16:05:04

标签: html ruby-on-rails

我正在尝试在我的页面之一上建立一个表单,该表单列出了一些不可编辑的信息。我的页面代码如下:

<%= 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显示为常规文本吗?

2 个答案:

答案 0 :(得分:1)

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

在Controller中,只需将键:quote_number从允许的属性中删除,以防万一您正在编辑,这样在通过浏览器的Inspect Element功能更改报价后再提交表单,没人能更新报价。 / p>

答案 1 :(得分:0)

使用类似上面的行的标签

原是:

<%= f.label "Quote Number:" %>
<%= f.text_field :quote_number %>

更改为:

 <%= f.label "Quote Number:" %>
 <%= f.label :quote_number %>