MySQL データベースに type のフィールドがありbit
ますが、値にアクセスする方法がわかりません。
ルビーdebug
メソッドは私に与えます(スペースに注意してください、それらはおそらくバイナリ形式で保存された目に見えない文字です):
--- &id001 !ruby/object:Room
attributes:
bit_field_false: !binary |
AA==
bit_field_true: !binary |
AQ==
bit_field_false
およびbit_field_true
である必要がfalse
ありtrue
ます。また、いくつかの奇妙なプロパティに気付きました。
- それらを整数に変換すると、両方とも次のように表示されます
0
- と の真理値を抽出する
<%= @room.bit_field_true ? "true" : "false" %>
と<%= @room.bit_field_false ? "true" : "false" %>
、両方ともtrue
- それらを文字列として表示すると、空の文字列として表示されます
それぞれの値を取得するにはどうすればよいですか? バイナリ値は何か意味がありますか?
最終的な目標は、それらをチェックボックスに表示することです。私は次のようなものを持っています:
<% form_for(@room) do |room_f| %>
<%= check_box_tag :room_bit_field_false %><br/>
<%= check_box_tag :room_bit_field_true %><br/>
<% end %>
しかし、それは常にチェックされていないと表示されます。これがこのセットアップのチェックボックスを作成する方法であるかどうかは定かではないため、これも間違っている可能性がありますが、コードでビット値を抽出する方法を知りたいと思っています。
mysql
参考までに、アダプターと mysqlを使用して Ruby on Rails 2.3.2 を使用していVer 14.14 Distrib 5.5.10, for osx10.6 (i386)
ます。