質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

2458閲覧

[Rails6]ラジオボタンで思うようにフォームを送信できない

jackson

総合スコア2

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/03/25 07:34

編集2021/03/27 10:11

##実現したいこと
railsでQAサイトを作っています。
radioボタンでフォームが送信をできるようにしたいです
前の段階ではチェックボックスで実装していたところをラジオボタンに変更しようとしたところ、引数の渡し方が変わっているので思った通りに行かず少々てこずっています。
チェックボックスの時のようにHTMLが表示されればOKなのでどなたかご教授ください。
チェックボックスで実装していた時と、現段階で自分が作っているラジオボタンの2つを以下に示します。

####チェックボックス

ruby

1<% @tags.each do |t| %> 2 <%= check_box_tag "question[tag_ids][]", t.id, @question.tags.include?(t) %> 3<% end %>

HTML変換後

html

1<input type="checkbox" name="question[tag_ids][]" id="question_tag_ids_" value="1" />

####ラジオボタンに変更(一応radio_buttonとform.radio_buttonの二つでやってみました)

ruby

1<% @tags.each do |t| %> 2 <%= radio_button "question", "tag_ids" ,t.id %> 3<% end %>

html変換後

html

1両方とも結果は同じ 2<input type="radio" value="1" name="question[tag_ids]" id="question_tag_ids_1">

HTMLのname属性がチェックボックスの時のようにquestion[tag_ids][]となるようにできれば成功です。

##やってみたこと(失敗例)
以下に自分が試してきたコードと結果を記します。

<% @tags.each do |t| %> <%= radio_button "question", "tag_ids[]" ,t.id %> <% end %> 結果 =>undefined method `tag_ids[]
<% @tags.each do |t| %> <%= radio_button "question[]", "tag_ids" ,t.id %> <% end %> 結果 <input type="radio" value="1" name="question[][tag_ids]" id="question__tag_ids_1">
<% @tags.each do |t| %> <%= form.radio_button "tag_ids[]", t.id %> <% end %> 結果 <input type="radio" value="1" name="question[tag_ids[]]" id="question_tag_ids[]_1">

以上私がやってきたことです。よろしくお願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

check_box_tag を使っていることから <form> の生成に form_tag を使っていませんか。
Rails6 なら form_tag/form_for は推奨されず form_with になっています。
https://guides.rubyonrails.org/form_helpers.html#using-form-tag-and-form-for
https://qiita.com/hmmrjn/items/24f3b8eade206ace17e2

また radio は checkbox と違って選べる値は一つなので [] は不要です。
https://guides.rubyonrails.org/form_helpers.html#radio-buttons
https://guides.rubyonrails.org/form_helpers.html#the-collection-radio-buttons-helper

もし form_with を使っていない場合、一度こちらの資料で form_with で作ってみてはいかがでしょうか。
https://guides.rubyonrails.org/form_helpers.html

何かしらの理由で form_with 以外を使いたい場合は
form を含む radio のフォームを作成する最低限のコードを公開すると回答も付きやすいかもしれません。

投稿2021/04/04 12:49

nocomment

総合スコア64

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問