我正在使用 simple_forms gem 为我的模型创建一个表单。
该模型包含一些字段,这些字段是基于其他字段的 javascript 计算的结果,因此我希望将它们表示为文本,而不是输入字段,以便在图形上它们看起来不可编辑并且不会混淆人们。
到目前为止,这是我的观点:
- field = "time_quantity"
%strong{:id => "#{field}_str", :class => "text-success"}
= f.object[field]
= f.input field, as: :hidden, input_html: {value: f.object[field]}
中的文本%strong
将值写入文本,随后的输入字段是与表单一起插入模型中的内容。
还有一个问题是,如果我为这些字段输入错误的数据,我将不会在它们旁边看到任何错误通知,因为它将被隐藏。如此处所示:
<strong class="text-success" id="time_quantity_str" data-original-title="" title=""></strong>
<div class="input hidden project_time_quantity field_with_errors">
<input class="hidden input-medium" id="project_time_quantity" name="project[time_quantity]" type="hidden">
<span class="error">can't be blank</span>
</div>
我想将其更改为:
- field = "time_quantity"
%strong{:id => "#{field}_str", :class => "text-success"}
= f.input field, as: :plain, input_html: {value: f.object[field]}
在视图和 javascript 中有更多的 DRY。
您认为如何实现这一目标?
谢谢,