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>

たとえば、これは私のイメージの create/update _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

次のようなことができます。

until ステートメントの使用

<%= 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 に答える