Closed CarbazochromeT closed 11 months ago
確認ですが、「ラジオボタンが動かなくて苦戦しております」は、"はい"・"いいえ"をクリックした際にアクティブ状態が切り替わらないということでしょうか?それともデータの保存が上手くいかないということでしょうか?
クリック判定があると色が変わるラジオボタンをHTMLとCSSで作ったため、これをRailsのラジオボタン形式で動くようにしたいです。
こちらの記述からも"いいえ"状態から"はい"をクリックすると、"いいえ"が非アクティブになり、"はい"がアクティブ状態になるようにしたい認識を抱いたのですが合っていますでしょうか?
view/drugs/search.html.erb
<dt>車の運転はしますか?</dt>
<dd>
<ul class= "search-list">
<li>
<div class="yesno">
<%= f.radio_button :drive_eq, true, id:'drive_ok', checked: true %>
<%= f.label :drive_true ,"はい", for: 'drive_ok', class:"switch-on" %>
<%= f.radio_button :drive_eq, false, id:'drive_ng' %>
<%= f.label :drive_false ,"いいえ",for: 'drive_ng', class:"switch-off" %>
</div>
<div class="yesno">
<input type="radio" name="drive" id="drive-on" value="d-on" checked="">
<label for="drive-on" class="switch-on">はい</label>
<input type="radio" name="drive" id="drive-off" value="d-off">
<label for="drive-off" class="switch-off">いいえ</label>
</div>
</li>
</ul>
</dd>
こちらの記載も似たような(?)記載が2つありますが、挙動させたいのはf.radio_button
の方でしょうか?もしそうであれば、f
はform_with ... do |f|
が定義されているでしょうか?
現状、何が起きているのか・どういう記載になっているのか・レンダリングされたHTMLは期待しているものになっているのかetcを考えながら仮説検証を行って試行錯誤してみましょう。
説明が不十分で申し訳ございません。 今回作動させたいボタンは上のf.radio_buttonです。 今は検索機能フォームを作っている段階であり、まだデータベースへの反映は確認できておりません。
下のコードのHTMLとcssはアクティブ時に色が変わることは確認済で、下のコードをf.radio_buttonへとコードを書き直している最中でございます。
複数の要素が混じっているようなので切り分けさせてください。
ます、f
の方は問題ない状態なのでしょうか?共有されている情報からはform_withなどの記載が見られず、その問題はクリアになっているのかが読み取れなかったのですが、こちらは大丈夫でしょうか。
次に、上記がクリアという前提の話になりますが、ingredientsのbooleanのカラムが対象かと思われますが、ransackでアソシエーション先のカラムを対象にする際はどのようにすれば扱えるかを調べたり、仮説立て、検証、試行錯誤してみましょう。
search.html.erb
<%= f.radio_button :ingredients_drive_eq, true, id:'drive_ok', checked: true %>
<%= f.label :drive_true ,"はい", for: 'drive_ok', class:"switch-on" %>
このように設定したら動きました!ありがとうございます!
rubyは "3.0.2"、"rails"は"7.0.6"を使用して製作しております。
中間テーブル、booleanを利用したラジオボタンが動かなくて苦戦しております。 アドバイス等頂けたら幸いです。
上記のような、クリック判定があると色が変わるラジオボタンをHTMLとCSSで作ったため、これをRailsのラジオボタン形式で動くようにしたいです。 検索機能はRansackを用いて実装予定です。
driveの情報はingredientsテーブルの情報を@drugのほうへ引き出したいです。 ransackを利用したコントローラーの記載が不十分なことが原因だと考えております。 :driveの記載をRansackの書き方に沿うべく:drive_eqに直したりもしましたが、うまくいきませんでした。 driveが別テーブルに存在するため、permitを利用してもその情報がうまく行き渡っていないこと、drug_paramsの情報を引き出せていないことが原因かなと思っております。
エラーメッセージ
関連コード
参考文献
https://qiita.com/RouxRhett/items/7c2bd566c4f3ee0d6281 https://mstssk.hatenablog.com/entry/2020/05/07/211108 https://blog.turai.work/entry/20191016/1571155260 https://qiita.com/kajikaji/items/cf0bcf9a3d689d6b07b2