2009-09-07 44 views
1

乾草,不知道我是否錯過了助手在軌道中的點,但我用日期()助手,現在我不知道如何訪問變量返回。訪問日期()變量從日期助手在軌道中發送

繼承人的助手代碼

<%=date_select("game", "release_date", :order => [:day, :month, :year])%> 

如何訪問控制器中的返回變量?

感謝

回答

5

date_select幫手利用了什麼Rails的調用多參數屬性。也就是說,release_date屬性的值分爲由date_select幫助程序創建的日,月,年的3個下拉菜單。 date_select名3個下拉菜單下面的一個慣例,使得你的控制器,你可以這樣做:

@game = Game.new(params[:game]) 

,並在新遊戲release_date屬性將與所選日期填充。

@game.update_attributes(params[:game]) 

更新現有的記錄。

如果檢查params中,需要查看日誌文件,你會看到3分個人組成:

params["game"]["release_date(1i)"] # the year 
params["game"]["release_date(2i)"] # the month 
params["game"]["release_date(3i)"] # the day 

直接看起來像一個好主意,雖然你可以訪問這些單個元素不會。 date_select幫助程序實際上是設計用於與創建新對象或更新屬性時使用的ActiveRecord的設置程序attributes=結合使用的。

+0

遊戲模型有一個名爲「release_date」的date()字段。 Game.create(:name => name,:release_date => params [:release_date])是否正確? – dotty 2009-09-07 15:29:44

+0

如果表單已經使用標準助手創建,那麼名稱,release_date等將作爲params [:game] [:name]等嵌套在內部。params [:game] [:release_date]沒有單個條目。 。你可以做Game.create(params [:game])。創建和使用.new後跟一個保存一樣。 – mikej 2009-09-07 15:57:31