データベースから取得したデータの種類を確認する方法を教えてください。(Rails)フィールドのデータ型をチェックする方法はありますか?
たとえば、データベースフィールド "title"を持つモデル@ modelのインスタンス化がある場合、@ model.title.typeのようなコードを作成し、 "String"を返すようにしたいと考えています。 Railsには組み込みの機能がありますか?
データベースから取得したデータの種類を確認する方法を教えてください。(Rails)フィールドのデータ型をチェックする方法はありますか?
たとえば、データベースフィールド "title"を持つモデル@ modelのインスタンス化がある場合、@ model.title.typeのようなコードを作成し、 "String"を返すようにしたいと考えています。 Railsには組み込みの機能がありますか?
これを試してみてください:デフォルトでは、制限、名前、ヌル、精度、:
@model.column_for_attribute('title').type
は:string
、:text
、:integer
など
を返す必要がありますActiveRecordのColumnクラスは、他の属性の数を含んでいますプライマリ、スケール、sql_type、型
私のモデル「Firm」では、レール3ではFirm.columns_hash
を使用します。
Firm.columns_hash["name"].type #returns :string
あなたがそれらを反復処理したい場合は、このような何かしたい:
Firm.columns_hash.each {|k,v| puts "#{k} => #{v.type}"}
出力は次のようになります。
id => integer
name => string
max_trade_qty => integer
などを。
注意:名前、精度、プライマリ、ヌル、リミット、およびデフォルト –
ありがとう、それはトリックでした。 – Karl