Ruby On Rails:使文本字段不可编辑,并在编辑记录时显示另一个字段

nee*_*raj 3 field ruby-on-rails

1.如何在编辑记录时使文本字段不可编辑(可读= false)

我的表格视图代码

  <div class="field">
    <%= f.label t :profile_name %><br />
    <%= f.text_field :profile_name %>
  </div>
Run Code Online (Sandbox Code Playgroud)

2.如何在编辑记录时使字段可见.我在数据库表中有一个字段,我只想在编辑记录时显示以填充,同时创建一个不可见字段的新记录.

解决:

Never Mind Guys我得到了解决方案,

1. 
<div class="field">
  <%= f.label t :profile_name %><br />
  <%= f.text_field :profile_name, :readonly => f.object.persisted? %>
</div>

2. 
<% if f.object.persisted?%>
  <div class="field">
    <%= f.label t :another_field %><br />
    <%= f.text_field :another_field%>
  </div>
<% end %>
Run Code Online (Sandbox Code Playgroud)

Sri*_*Sri 6

如果您希望文本框不可编辑,可以使用小css或前端,如下所示:

 <div class="field">
    <%= f.label t :profile_name %><br />
    <%= f.text_field :profile_name, disabled: disabled %>
 </div>
Run Code Online (Sandbox Code Playgroud)

或者添加:readonly => true而不是disabled.所以,

<div class="field">
    <%= f.label t :profile_name %><br />
    <%= f.text_field :profile_name, readonly: true %>
 </div>
Run Code Online (Sandbox Code Playgroud)

在视图中添加已禁用以生成不可编辑的文本框.如果它不起作用我们也可以用css.请告诉我它是否有效.