【发布时间】:2015-06-24 04:47:50
【问题描述】:
我想知道是否有办法在 Rails 表单中添加某种输入字段,这样如果用户输入1, 2, 3,那么params[:model][:attribute] 返回[1, 2, 3] 或至少['1', '2', '3'],但不是['1, 2, 3']。
背景:
我有一个模型Foo,它有一个属性bar_ids。 PostgreSQL 数据库中此属性的数据类型为Array。我已经尝试了几件事:
- 如果
f.text_field :bar_ids那么params[:foo][:bar_ids]返回'1, 2, 3' - 如果
f.text_field_tag 'foo[bar_ids][]'那么params[:foo][:bar_ids]返回['1, 2, 3'] - 如果
f.number_field :bar_ids然后params[:foo][:bar_ids]返回'1'如果我只输入1并且表单不允许输入多个数字
所以,我的问题又来了 - 有没有办法以这种方式构造我的表单,以便 Rails 自动将输入解析为相应的数据类型,在我的例子中 - 一个整数数组?
【问题讨论】:
标签: ruby-on-rails arrays forms postgresql params