RubyOnRailsのラジオボタン
遅まきながらRubyOnRailsを勉強中です。
スーパーの商品のカテゴリを登録する画面です。カテゴリをラジオボタンで選択します。
主要部分、以下のコードで動きます。
====
<% form_for(@item) do |f| %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.label :category_id %><br />
<label><%= f.radio_button "category_id",'1' %>野菜</lablel>
<label><%= f.radio_button "category_id",'2' %>魚</lablel>
<label><%= f.radio_button "category_id",'3' %>加工食品</lablel>
<label><%= f.radio_button "category_id",'4' %>グロッサリー</lablel>
</p>
<p>
<%= f.submit 'Update' %>
</p>
<% end %>
====
しかしこれは間違いです。理由はカテゴリテーブルがあり、そこから取得しなければなりません。
以下のように変更しました。
====
<% @categories = Category.find(:all) %>
<% form_for(@item) do |f| %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.label :category_id %><br />
<% for @category in @categories %>
<label><%= f.radio_button "category_id","@cateroy.id" %><%= @category.name %></label>
<% end %>
</p>
<p>
<%= f.submit 'Update' %>
</p>
<% end %>
====
つまりテーブルから読んで、その値でラジオボタンを表示しました。
結果、画面は表示されます。
しかしsubmitして、itemにcategory_idが設定されません。
お分かりの方、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
まだ私も、初心者ですが、修正後のように直してみてはどうでしょう?
似たような処理の記載が「RailsによるアジャイルWebアプリケーション開発/オーム社」書籍にあるので、それを真似しての変更です。
<修正前>
<% for @category in @categories %>
<label><%= f.radio_button "category_id","@cateroy.id" %><%= @category.name %></label>
<% end %>
<修正後>
<% for category in @categories %>
<label><%= f.radio_button :category_id,cateroy.id %><%= category.name %></label>
<% end %>
ありがとうございます。
お教えいただいた内容で正しく動作しました。
いろいろ試したはずなのですが、これは試してなかったのでしょう。
ただ原理はまだ良く分かっていないので、これから勉強します。
ともあれありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Application.ScreenUpdating = ...
-
パイソンのクラスのブログラム
-
パイソンのクラスについて
-
パイソンプログラミング
-
vscode 文字化け
-
[python] 文字列を変数名として...
-
phpでボタンを押したときに変数...
-
【メモリ不足で落ちる(python)】
-
VBAでPDFのコピーとリネームを...
-
この英語はどういう意味ですか?
-
Rails:findの条件指定(複数キ...
-
vbaでxmlからNodeListでデータ...
-
2つのpythonがあって、一方で...
-
VBAで特殊文字を出力したい
-
学校でプログラミングの授業あ...
-
[C#] string name = new ..
-
pythonで実体参照文字を直す方法
-
FindFirst を複数条件で検索
-
「*:*」って何を意味するのでし...
-
ASPへの値渡し
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Application.ScreenUpdating = ...
-
実行時エラー 3020の対策
-
[python] 文字列を変数名として...
-
ACCESS テキストボックスを隙...
-
FindFirst を複数条件で検索
-
【メモリ不足で落ちる(python)】
-
VBA他のブックから値のみ貼付す...
-
構造体の各データの表示につい...
-
パイソンプログラミング
-
VBAでPDFのコピーとリネームを...
-
phpでボタンを押したときに変数...
-
vscode 文字化け
-
vbaでxmlからNodeListでデータ...
-
コンボボックスのtag情報の取得...
-
パイソンのクラスのブログラム
-
「*:*」って何を意味するのでし...
-
構造体の変数の値を、動的に取...
-
パイソンのクラスについて
-
C言語について
-
VBAで特殊文字を出力したい
おすすめ情報