【发布时间】:2015-07-29 19:29:46
【问题描述】:
当将 id 传递给控制器中的新操作时,我正在尝试为两个文本字段输入设置一个值。当前代码有效,但我想知道代码是否可以缩短。
当前代码
查看
<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 部分以缩短代码
更短的代码
查看
<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=""
有没有办法缩短代码还是我应该坚持下去?
【问题讨论】:
-
这是表单的一部分还是只是没有
form的input字段? -
@ABMagil 是的,是表单的一部分。只是参加了我试图缩短的部分
标签: ruby-on-rails ruby-on-rails-4 erb