2013-05-27 39 views
0

在我的應用程序中,我讓人們選擇一個工作的開始年份。這在創建新作業時工作正常,但在編輯表單上,我希望用戶在創建過程中選擇的年份自動填充。Rails - 如何在一年的編輯表單上設置默認選擇表格

我的代碼:

<%= select_year Date.today, start_year: Time.now.year, end_year: Time.now.year - 95, field_name: :start, prefix: :job %> 

目前,它只是默認爲2013每次。我知道我正在傳遞實例變量,因爲其他字段會自動填充,而不是今年的下拉列表。

我如何得到這個工作?

+1

我不知道我跟着你的問題。 'start_year'目前設置爲'Time.now.year',將在上面的例子中輸出2013。如果你想傳入一個實例變量,你可以將'Time.now.year'改爲'@ starting_year_instance_variable'。 – Justin

+0

我想我理解你,但我的問題是,end_year取決於開始的一年。因此,例如,如果我將開始年設置爲2009年,例如,我在2010,2011年的編輯表單中失去了選項。如何保留所有選項並仍然選擇編輯視圖中從控制器傳入的年份? – Zephyr4434

回答

1

這個答案太長了,不能放在評論中,所以我把它作爲答案放在這裏,但讓我知道它是否回答你的問題。

您可以手動將start_yearend_year變量設置爲例如1950和Time.now.year。然後,將select_year助手中的第一個參數設置爲實例變量,以使其成爲範圍較寬的默認選擇而不是Date.today

例如:

<%= select_year @instance_variable, start_year: 1950, end_year: Time.now.year, field_name: :start, prefix: :job %>

更多的例子是在Rails的文檔可用,太: http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-select_year

+0

謝謝,這回答了我的問題! – Zephyr4434

相關問題