2

datetime_selectフォームの 1 つでRails ヘルパーを使用しています。現在、 、 、 、および のドロップダウンを検証付きのテキスト ボックスに変更する必要dayyearありhourますminute。これらのフィールドにテキスト ボックスが必要であることを指定する方法はありますか? または、私が必要とすることを行う別のヘルパーでしょうか?

ここに私の使用法があります:

datetime_select(:campaign, :start_date, :order => [:day, :month, :year, :hour, :minute])
4

2 に答える 2

4

のようなあなた自身の単純なヘルパーを転がしてはどうですか

def datetime_text_fields(object_name, method)
  html = text_field_tag("#{object_name}[#{method}(3i)]", Date.today.day.to_s, :length => 2)
  html << select_month(Date.today, :field_name => "#{object_name}[#{method}(2i)]")
  html << text_field_tag("#{object_name}[#{method}(1i)]", Date.today.year.to_s, :length => 4)
  html << " "
  html << text_field_tag("#{object_name}[#{method}(4i)]", Time.now.hour.to_s, :length => 2)
  html << ":"
  html << text_field_tag("#{object_name}[#{method}(5i)]", Time.now.min.to_s, :length => 2)
end

書式設定や区切り文字などを自由に追加できますが、基本的には、DateTimeとして識別されるレールの正しいフィールド名に戻ります。Railsはdate(1i)、1i =年、2i=月などの名前のフィールドを想定しています。

正直なところ、私はそれなどをテストしませんでしたが、コンソールの出力はかなり説得力があるように見えました;)

于 2010-07-20T11:15:56.093 に答える
0

日付ピッカー ヘルパーとまったく同じ方法で入力フィールドに名前を付けるだけで、カスタム フロントエンドをローリングしながら、バックエンドの利点をすべて得ることができます。または、 を使用し:orderて日付ピッカーに月を選択させ、他の入力には JavaScript マジックを使用します。

jquery datepicker を使用して、レールの datepicker と同じ命名規則で非表示フィールドに入力できます。

于 2010-07-23T18:31:10.067 に答える