select_day / year / month预设值

自由类

验证错误后如何保存select_day的值我可以这样设置默认值:

f.select_day 1, {prefix: 'user[birthdate]'}

但是我不能这样从模型设置值:

f.select_day :birthdate, {prefix: 'user[birthdate]'}

错误:

ActionView::Template::Error (undefined method `day' for :birthdate:Symbol)

有可能还是我需要手动从参数获取并设置值?
模型:

class User
  include ActiveModel::Model
  include ActiveRecord::AttributeAssignment
  attr_accessor :birthdate
  def self.build(request, params = {})
    u = self.new
    u.assign_attributes(params)
    u
  end
end

控制器:

def new
  @user = User.new
end

def create
  @user = User.build(params[:user])
end

看法:

= form_for @user do |f|
  f.select_day 1, {prefix: 'user[birthdate]'}
  f.select_month 1, {prefix: 'user[birthdate]'}
  f.select_year 1990, {prefix: 'user[birthdate]'}
安迪

如果您查看select_day(以及_month和_year)的文档,您会发现这些方法通常会为其第一个参数接受一个日期。它们也接受您选择的整数,但这是一个可替代的实现。

尽管如此,我建议进行一些小的更改。首先,我强烈考虑按照以下方式为User类设置默认的生日。

class User
  attr_accessor :birthdate

  def initialize()
    @birthdate = Date.new 1990, 1, 1
    super
  end

  ...
end

然后,您的表单可以在新视图和编辑视图中使用User#birthdate访问器。

= form_for @user do |f|
  = f.select_day @user.birthdate, prefix: 'user[birthdate]'
  = f.select_month @user.birthdate, prefix: 'user[birthdate]'
  = f.select_year @user.birthdate, prefix: 'user[birthdate]'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Joda Time - Day of month and Month of Year Not returning 2 digit output

来自分类Dev

How can I use SQL's YEAR(), MONTH() and DAY() in Doctrine2?

来自分类Dev

如何在Doctrine2中使用SQL的YEAR(),MONTH()和DAY()?

来自分类Dev

正则表达式从year-month-day-title.ext捕获标题

来自分类Dev

Extracting "Year" , "Month" and "Day" from Date column which is in continuous string format

来自分类Dev

将Java中的时间格式从YYYY-MM-DD转换为Day-Month-Year

来自分类Dev

Convert day of the year to date

来自分类Dev

格式为{day-month-year}的单独日期

来自分类Dev

如何使用Netezza SQL以编程方式找出列名,其中列值与预设值匹配

来自分类Dev

如何将分隔的Year(int),Month(int)和Day(int)列转换为DateTime

来自分类Dev

角反应形式:如何预设值?(包含对象的FormArray)

来自分类Dev

html表单预设值栏位

来自分类Dev

如何在Doctrine2中选择YEAR()MONTH()DAY()

来自分类Dev

使用javascript将month-day-year转换成day-month-year

来自分类Dev

ggplot“ day-month” x轴,带多面环绕式“ year”

来自分类Dev

mongodb聚合:在输出中连接_id.day,_id,month,_id.year

来自分类Dev

如何将chrono :: year_month_day添加到chrono :: sys_seconds

来自分类Dev

角反应形式:如何预设值?(包含对象的FormArray)

来自分类Dev

如何在Doctrine2中使用SQL的YEAR(),MONTH()和DAY()?

来自分类Dev

如何将日期格式化为以下格式day.month.year?

来自分类Dev

iside hevc_nvenc预设值是什么?

来自分类Dev

错误:在“class date::year_month_day”中没有名为“_traits”的类型?

来自分类Dev

在编写 Python 的 ascii 文件中合并预设值

来自分类Dev

熊猫时间序列重采样:KeyError:“['year''month''day']不在索引中”

来自分类Dev

角度 2 下拉菜单的预设值

来自分类Dev

无法让表列从预设值自动递增

来自分类Dev

查找最接近列值的预设值

来自分类Dev

如何使用正则表达式删除名称为 YEAR-MONTH-DAY 的文件

来自分类Dev

使用纯 SQL 从 foo.year、foo.month、foo.day 转换为日期?

Related 相关文章

  1. 1

    Joda Time - Day of month and Month of Year Not returning 2 digit output

  2. 2

    How can I use SQL's YEAR(), MONTH() and DAY() in Doctrine2?

  3. 3

    如何在Doctrine2中使用SQL的YEAR(),MONTH()和DAY()?

  4. 4

    正则表达式从year-month-day-title.ext捕获标题

  5. 5

    Extracting "Year" , "Month" and "Day" from Date column which is in continuous string format

  6. 6

    将Java中的时间格式从YYYY-MM-DD转换为Day-Month-Year

  7. 7

    Convert day of the year to date

  8. 8

    格式为{day-month-year}的单独日期

  9. 9

    如何使用Netezza SQL以编程方式找出列名,其中列值与预设值匹配

  10. 10

    如何将分隔的Year(int),Month(int)和Day(int)列转换为DateTime

  11. 11

    角反应形式:如何预设值?(包含对象的FormArray)

  12. 12

    html表单预设值栏位

  13. 13

    如何在Doctrine2中选择YEAR()MONTH()DAY()

  14. 14

    使用javascript将month-day-year转换成day-month-year

  15. 15

    ggplot“ day-month” x轴,带多面环绕式“ year”

  16. 16

    mongodb聚合:在输出中连接_id.day,_id,month,_id.year

  17. 17

    如何将chrono :: year_month_day添加到chrono :: sys_seconds

  18. 18

    角反应形式:如何预设值?(包含对象的FormArray)

  19. 19

    如何在Doctrine2中使用SQL的YEAR(),MONTH()和DAY()?

  20. 20

    如何将日期格式化为以下格式day.month.year?

  21. 21

    iside hevc_nvenc预设值是什么?

  22. 22

    错误:在“class date::year_month_day”中没有名为“_traits”的类型?

  23. 23

    在编写 Python 的 ascii 文件中合并预设值

  24. 24

    熊猫时间序列重采样:KeyError:“['year''month''day']不在索引中”

  25. 25

    角度 2 下拉菜单的预设值

  26. 26

    无法让表列从预设值自动递增

  27. 27

    查找最接近列值的预设值

  28. 28

    如何使用正则表达式删除名称为 YEAR-MONTH-DAY 的文件

  29. 29

    使用纯 SQL 从 foo.year、foo.month、foo.day 转换为日期?

热门标签

归档