Userモデルのuser_styleというカラムにデータを保存する際に、選択したチェックボックスのvalue値を配列として保存したいです。
以下の機能を実現したいからです。
1.Userの更新画面(または作成画面)でuser_styleをチェックボックスから複数選択して更新(作成)
2・検索画面にて、チェックボックスで選択した値がuser_styleカラムに含まれているかどうかでOR検索をする
3.再度更新画面では、保存されていた値全てが予めチェックされている
1.2は実現できているのですが、「3.再度更新画面では、保存されていた値全てに予めチェックされている」という要件のみ満たせないでいます。
Ruby
1<%= f.check_box :user_style, {multiple: true}, 'style1', nil %>スタイル1 2<%= f.check_box :user_style, {multiple: true}, 'style2', nil %>スタイル2 3<%= f.check_box :user_style, {multiple: true}, 'style3', nil %>スタイル3 4... 5.. 6.
現在上記のように記述をしており、実際に保存をすると、ログ上では【 "user_style"=>["style1","style2"] 】のように表記されています。
コンソールでは【 "["style1", "style2"]" 】のように表記されます。
上記をふまえて、更新画面のチェックボックスにて、value値に設定した値がデータに含まれていれば、予めチェックをする、といった以下の流れは実現可能でしょうか。
1・user_styleに関するチェックボックスのvalueが"style1"のものについて
2・user_styleカラムに含まれるデータは"["style1", "style2"]"
3.style1がuser_styleに文字列として含まれるため、チェックボックスの初期値が点灯
この一連の流れが可能であれば、どのような記述をすればいいかを教えて頂きたいです。
また、上記の
1.Userの更新画面(または作成画面)でuser_styleをチェックボックスから複数選択して更新(作成)
2・検索画面にて、チェックボックスで選択した値がuser_styleカラムに含まれているかどうかでOR検索をする
3.再度更新画面では、保存されていた値全てが予めチェックされている
といった機能を実現するにあたって、このような問題のおきない別のアプローチがもしあれば、そちらを教えて頂けますでしょうか。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/25 04:44