ruby-on-rails - 访问从 Rails 中的日期助手发送的 date() 变量

标签 ruby-on-rails ruby date

嘿,不确定我是否错过了 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/

相关文章:

ruby-on-rails - Net::SMTPFatalError: 550 5.1.1 收件人地址被拒绝:本地收件人表中的用户未知

ruby-on-rails - rails g mongoid :config not working Rails 6. 1

ruby-on-rails - 没有 InnoDB,Rails 3 不能在 MySQL MyISAM 模式下运行吗?

ruby - 你如何委托(delegate)类方法?

ruby-on-rails - Rails 3 : Looping through array of objects, 忽略数组中的第一个对象?

ruby-on-rails - 将对象数组展平、排序并将其映射到哈希数组(带有一些折叠值)

mysql - Ruby on Rails : mysql error

date - Clojure:用最少依赖的 babashka 获得当前时间字符串的方法是什么?

使用链接打印日期和时间的 JavaScript 不起作用

java - 将日期增加一天,但同时以某种方式将月份减少 1