🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails

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

ラジオボタン

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

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

Q&A

解決済

1回答

2514閲覧

rails ransackによる検索機能の実装(ラジオボタン,enum)

ShionEngin

総合スコア4

Ruby on Rails

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

ラジオボタン

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

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

0グッド

0クリップ

投稿2019/12/30 09:59

前提・実現したいこと

ラジオボタン(enum)による検索機能を実装しようとしています。

発生している問題

検索結果が表示されず、resultがすべて0になってしまう。

該当のソースコード

Micropost Load (0.1ms) SELECT DISTINCT "microposts".* FROM "microposts" WHERE "microposts"."user_id" = ? AND "microposts"."result" = 0

MicropostModel

enum result: { win: 1, lose: 2, notrade: 3 }

microposts#index View

= search_form_for @q do |f| p = f.label :result = f.radio_button :result_eq, :win, {:checked => true} = f.radio_button :result_eq, :lose = f.radio_button :result_eq, :notrade = f.submit nil

micropostsコントローラー

class MicropostsController < ApplicationController def index @q = current_user.microposts.ransack(params[:q]) @microposts = @q.result(distinct: true) end

行いたいこと

検索結果が正しく表示されるようにしたい。

補足情報(FW/ツールのバージョンなど)

slim
rails5.2
ransack
devise

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

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

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

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

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

guest

回答1

0

自己解決

= f.radio_button :result_eq, 1, {:checked => true}
= f.radio_button :result_eq, 2
= f.radio_button :result_eq, 3

解決しました。

投稿2020/01/02 13:20

ShionEngin

総合スコア4

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問