2015-04-17 54 views
0

我想知道是否有辦法有在Rails形式的某種輸入字段的,因此,如果用戶輸入1, 2, 3,然後params[:model][:attribute]返回[1, 2, 3]或至少['1', '2', '3'],但不['1, 2, 3']如何在Rails表單中提交整數數組?

背景:

我有一個模型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自動將輸入分析爲相應的數據類型,在我的情況下是一個整數數組?

回答

2

人們通常更新模型之前手動編輯params

params[:model][:attribute] = params[:model:][:attribute].split(',') 
# ... 
Model.update_attributes(params[:model]) 

它在控制器動作或before_action通常完成。