スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランス5期目となる自身の実体験から、フリーランスエンジニアになるためのノウハウ、ブログや沖縄移住、スリランカの最新情報について発信します。

【Rails5】form_withでhidden_fieldを使って、値を配列で送信したい

※記事内に提携先企業のアフィリエイト広告(リンク、バナー等)、Google広告を含む場合があります


こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。


このブログでは、

僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、

ノウハウなどを書いていきます。


今回は、


  • form_withでhidden_fieldを使って、値を配列で送信したい


について書いていきます。




【Rails5】form_withでhidden_fieldを使って、値を配列で送信したい




対処法


hidden_fieldだと動かない。


今回の場合、

hidden_field_tag を使うことで対応出来た。


hidden_field_tag (ActionView::Helpers::FormTagHelper) - APIdock


  • 第一引数: name属性

  • 第二引数: 送信したい値


例.

= form_with url: '/articles' do |f|
  = hidden_field_tag 'hoge_item[]', 1
  = f.submit '送信'


これは下記のように送信されます。

#=> "hoge_item"=>["1"]




配列内に複数の値を入れて送信したい場合


hidden_field_tagを複数設置してやれば可能。


ループすれば応用効きそうです。

= form_with url: '/articles' do |f|
  = hidden_field_tag 'hoge_item[]', 1
  = hidden_field_tag 'hoge_item[]', 2
  = hidden_field_tag 'hoge_item[]', 3
  = f.submit '送信'


これは下記のように送信されます。

#=> "hoge_item"=>["1", "2", "3"]


Started POST "/articles" for ::1 at 2020-01-08 21:39:47 +0900
Processing by ArticlesController#create as JS
  Parameters: {"authenticity_token"=>"JpIUpNwxFUYgUuKUnlE3VB0frKJCiDdX3XQdbxhXBku7M5WG6AsgIE9G3AKqp++KHAfhkg3vZ5sQCDZJVZSorw==", "hoge_item"=>["1", "2", "3"], "commit"=>"送信"}




以上です。




RailsやRubyを学びたい人へ


RailsやRubyを学びたい人は、

RailsHack(レイルズハック)という、

最近できた新しいプログラミングスクール(今なら通常価格69,800円が、早期割で29,800円!)か、

Udemy で下記のコースを受講すると良いです★


✅1. フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座

✅2. 【はむ式】ハンズオンで学ぶRuby on Rails 6【Dockerにも触れられる】 <- おすすめ。ハムさんはReactやTypeScriptの教材も非常に丁寧。

✅3. はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう




また、

Udemy は定期的にセールをやっていますし(90%OFFとかもザラ)、

「30日間なら返金できる」ので、

満足できなかった時でも安心です。



【公式】RailsHack(レイルズハック)

【公式】Udemyで学んでみる




最後に


下記の表に、

フリーランスエンジニア向けの人気エージェントをまとめてみました。


エージェント選びで悩んでいる方は是非参考にしてみてくださいね★





あわせて読みたい


www.malanka.tech


www.malanka.tech


www.malanka.tech


www.malanka.tech