0

我正在使用 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>

例如,这是来自我的图像创建/更新 _form,如果我已经有一个具有 start_at 值的图像,这似乎完全符合我的要求。但是,当我创建一个新图像并且没有 start_at 值时,我怎么能说不要尝试将此值放入输入中?我对拥有默认值不感兴趣。

4

4 回答 4

1
<%= f.text_field :start_at, class: 'form-control', value: @image.start_at? ? @image.start_at.strftime("%m/%d/%Y %I:%M %p") : nil %>

基于@luissimo 的回答

于 2016-09-28T18:20:30.930 回答
0

你可以这样做:

使用除非语句

<%= 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'  %>
于 2016-09-28T17:59:23.493 回答
0

你能做这样的事情吗?

<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 语句与 value 内联

于 2016-09-28T17:55:44.710 回答
0

检查空白并适当地分配一个值:

<%  @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>
于 2016-09-28T17:56:11.560 回答