嘿,不确定我是否错过了 rails 中助手的要点,但我使用了 date() 助手,现在我不知道如何访问返回的变量。
这是辅助代码
<%=date_select("game", "release_date", :order => [:day, :month, :year])%>
如何在 Controller 中访问返回的变量?
谢谢
最佳答案
date_select
助手使用 Rails 所谓的多参数属性。也就是说,release_date
属性的值分为日、月、年的 3 个下拉列表,它们由 date_select
助手创建。 date_select
按照约定命名 3 个下拉列表,这样您可以在 Controller 中执行以下操作:
@game = Game.new(params[:game])
新游戏的 release_date
属性将填充所选日期。
或
@game.update_attributes(params[:game])
更新现有记录。
如果您检查参数或查看日志文件,您将看到 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=
setter 结合使用而设计的,后者在创建新对象或更新属性时使用。
关于ruby-on-rails - 访问从 Rails 中的日期助手发送的 date() 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1388573/