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)
如何在控制器中访问返回的变量?
谢谢
该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的设定器.