2018年12月30日日曜日

ActiveAdminのformでパラメータ名を配列にする場合

パラメータを配列にする場合、name="hoge[]" のように渡す必要がある。
active_adminのformで配列で指定するには第一引数にhoge[]と渡すとうまくいかない。
input_htmlオプションで明示的にname属性を指定する。

form do |f|
  f.semantic_errors # shows errors on :base
  f.inputs          # builds an input field for every attribute
  f.input 'pictures', as: :file,  input_html: { name: "item[pictures][]" }
  f.input 'pictures', as: :file,  input_html: { name: "item[pictures][]" }
  f.input 'pictures', as: :file,  input_html: { name: "item[pictures][]" }
  f.actions         # adds the 'Submit' and 'Cancel' buttons
end

この場合model名がItemでpicturesが配列で渡したいパラメータ名。

もっとシンプルな方法がありそうだが。。

0 件のコメント:

コメントを投稿