1

現在、次のようなselectステートメントがあります。

<%= f.select :assessmentYear, (Time.now.year-1..Time.now.year+1).to_a, :prompt=>true  %>

ただし、選択範囲の範囲を表示する必要があります。2012-2013、2013-2014 など。ただし、現在と同じ値を保存する必要があります (たとえば、2012-2013 は 2012 を保存し、2013-2014 は 2013 を保存するなど)。

これはユーザーからのリクエストです。私のアプリケーションは学術機関向けであり、学年が 2 つの暦年に分割されているため、単一の値を参照すると混乱する可能性があります。

本当にありがとう!

4

1 に答える 1

0

のような配列を返すヘルパーを使用できます[['year-year+1', 'year'], ...]。次のようなもの:

def academic_years 
  years = Array.new
  (Time.now.year-1..Time.now.year+1).each do |year|
     years << ["#{year}-#{year+1}", year]
  end
  return years
end

そしてヘルパーを次のように呼び出します

<%= f.select :assessmentYear, options_for_select( academic_years ), :prompt=>true  %>

ヘルパーは次のoptions_for_selectようなものを生成します。

<option value="2012">2012-2013</option>
<option value="2013">2013-2014</option>
...
于 2013-04-10T22:57:13.783 に答える