2012-07-24 163 views
0

嗨,我是紅寶石軌道上的新手......我在我的下拉列表中遇到問題..必須顯示比本週前進3周..例如第39周..它應該是wekk。 42但本週應自動選擇...第39周..這是我的代碼..dropdownlist日期/星期

<%= select_tag("stock_movement", options_for_select(StockMovement.order("year DESC, week DESC").limit(20).map { | val | [ "#{ val.year }/#{ val.week }", val.id] }, :selected => @stock_movement)) %> 

在此先感謝。

回答

0

嘗試這樣的事:

<% cweek = Date.today.cweek 
    sms =StockMovement.where(week: (cweek..cweek+3)).order("year DESC, week DESC") 
    sms_now = sms.last.id 
%> 
<%= select_tag("stock_movement", options_for_select(sms.map { | val | [ "#{ val.year }/#{ val.week }", val.id] }, :selected => sms_now)) %> 
  • ,然後考慮的選項初始化移動到控制器。

如果用它撥弄多一點,這裏的使用form.select助手和預選中的藏品如果存在(在我的情況研討會)的參考,目前周,否則價值的另一個解決方案。

<% cweek = Date.today.cweek 
    sms =StockMovement.where(week: (cweek..cweek+3)).order("year DESC, week DESC") 
    sms_selected = @seminar.stock_movement ? @seminar.stock_movement.id : StockMovement.where(week: cweek).first.id 

%> 
<%= f.select("stock_movement_id", sms.map { | val | [ "#{ val.year }/#{ val.week }", val.id] },{:selected => sms_selected}) %> 
0

我用JQuery來解決這個問題。 Datepicker插件可以滿足您的所有需求。

相關問題