Rails アプリケーションで (データベース側で) テキストとして定義されたフィールドがあります。これで、古いデータの一部が文字列として直接書き込まれました。ハッシュの追加を開始したいと思います。
データを取得するときに、ハッシュの場合は別の方法でレンダリングしたいと考えています。
これが私が試したものですが、acts_like? メソッドは常に false を返します:
if suggestion.acts_like? Hash
suggestion.each {|attr, value| puts(helper.t attr+": "+value.to_s)}
else
puts suggestion
end
私は間違って何をしていますか? act_like ですか?ここで使用するのに適切なものですか?
答えが見つかったので質問を締め切ろうとしましたが、正しく保存されていないようです。
これが私が最終的に使用したものです:
if suggestion.is_a? Hash
....
else
...
end
なぜacts_likeなのかはまだわかりません。動作しませんが、is_a? 動作します!kind_of の Oldergod の提案は? あまりにも動作します!