访问日期()变量从rails中的日期助手发送

dot*_*tty 1 ruby ruby-on-rails date

干草,不知道我是否错过了rails中帮助者的观点,但我使用了date()帮助器,现在我不知道如何访问返回的变量.

下面是帮助代码

<%=date_select("game", "release_date", :order => [:day, :month, :year])%>
Run Code Online (Sandbox Code Playgroud)

如何在控制器中访问返回的变量?

谢谢

mik*_*kej 5

date_select助手利用了什么Rails的调用多参数属性.也就是说,release_date属性的值在date_select助手创建的日,月,年的3个下拉列表中分开.date_select根据惯例命名3个下拉列表,以便在控制器中可以执行以下操作:

@game = Game.new(params[:game])
Run Code Online (Sandbox Code Playgroud)

并且release_date将使用所选日期填充新游戏的属性.

要么

@game.update_attributes(params[:game])
Run Code Online (Sandbox Code Playgroud)

更新现有记录.

如果您检查params或查看日志文件,您将看到3个单独的组件:

params["game"]["release_date(1i)"] # the year
params["game"]["release_date(2i)"] # the month
params["game"]["release_date(3i)"] # the day
Run Code Online (Sandbox Code Playgroud)

虽然您可以直接访问这些单独的元素,但这似乎不是一个好主意.该date_select助手真的设计成结合使用与attributes=被创建一个新对象或更新的属性时使用的ActiveRecord的设定器.