我怎么说如果值存在显示值,否则用 simple_form 就够了?
How do I say if value exists display value otherwise leave well enough alone with simple_form?
我正在使用 simple_form,我只希望 value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") %>
在 @image.start_at 有值时执行。
<div class="input-group date" id="datetimepicker">
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") %>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
例如,这是来自我的图像 create/update _form,如果我已经有一个具有 start_at 值的图像,这看起来完全符合我的要求。但是,当我创建一个新图像并且没有 start_at 值时,我怎么能说不要尝试将这个值放入输入中呢?我对默认值不感兴趣。
你能做这样的事情吗?
<div class="input-group date" id="datetimepicker">
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") if @image.start_at.present? %>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
将 if 语句与值
内联
检查空白并适当赋值:
<% @image.start_at.blank? ? starts_at = nil : starts_at = @image.start_at.strftime("%m/%d/%Y %I:%M %p") %>
<div class="input-group date" id="datetimepicker">
<%= f.text_field :start_at, class: 'form-control', value: starts_at %>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
你可以这样做:
使用 unless 语句
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") unless @image.start_at.nil? %>
使用 if 语句
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") if @image.start_at.present? %>
使用 if / else 语句
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.nil? ? @image.start_at.strftime("%m/%d/%Y %I:%M %p") : 'no value' %>
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at? ? @image.start_at.strftime("%m/%d/%Y %I:%M %p") : nil %>
基于@luissimo 的回答
我正在使用 simple_form,我只希望 value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") %>
在 @image.start_at 有值时执行。
<div class="input-group date" id="datetimepicker">
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") %>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
例如,这是来自我的图像 create/update _form,如果我已经有一个具有 start_at 值的图像,这看起来完全符合我的要求。但是,当我创建一个新图像并且没有 start_at 值时,我怎么能说不要尝试将这个值放入输入中呢?我对默认值不感兴趣。
你能做这样的事情吗?
<div class="input-group date" id="datetimepicker">
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") if @image.start_at.present? %>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
将 if 语句与值
内联检查空白并适当赋值:
<% @image.start_at.blank? ? starts_at = nil : starts_at = @image.start_at.strftime("%m/%d/%Y %I:%M %p") %>
<div class="input-group date" id="datetimepicker">
<%= f.text_field :start_at, class: 'form-control', value: starts_at %>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
你可以这样做:
使用 unless 语句
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") unless @image.start_at.nil? %>
使用 if 语句
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.strftime("%m/%d/%Y %I:%M %p") if @image.start_at.present? %>
使用 if / else 语句
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at.nil? ? @image.start_at.strftime("%m/%d/%Y %I:%M %p") : 'no value' %>
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at? ? @image.start_at.strftime("%m/%d/%Y %I:%M %p") : nil %>
基于@luissimo 的回答