[解決済み] あるモデルが特定のカラム/属性を持っているかどうかを確認するには?
2022-07-09 14:14:25
質問
ハッシュをループして、各キーがモデルテーブルに存在するかどうかをチェックし、そうでない場合はキー/値を削除する必要があるメソッドがあります。
例えば
number_hash = { :one => "one", :two => "two" }
で、Numberテーブルには:1カラムしかないので、:2が削除されます。
モデルが属性を持っているかどうかを確認するにはどうすればよいですか?
どのように解決するのですか?
クラスの場合
使用方法
Class.column_names.include? attr_name
ここで
attr_name
は属性の文字列名です。
この場合
Number.column_names.include? 'one'
インスタンスの場合
使用する
record.has_attribute?(:attr_name)
または
record.has_attribute?('attr_name')
(Rails 3.2+) または
record.attributes.has_key? attr_name
.
この場合
number.has_attribute?(:one)
または
number.has_attribute?('one')
または
number.attributes.has_key? 'one'
関連
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み] rake db:migrateを使って1ステップだけロールバックする方法
-
[解決済み] Rails ExecJS::ProgramError in Pages#home?
-
[解決済み] Ruby on Railsでsimple_formを使うさまざまな方法|何が違うの?
-
[解決済み] Ruby on rails アプリで ES6 (ES2015) を使用するにはどうすればよいですか?
-
[解決済み] railsでcheck_boxをcheckedにする方法は?
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み】強いパラメータを持つ配列を許可する方法
-
[解決済み】Rails: #update_attributeと#update_attributesの比較
-
[解決済み] PostgreSQLのテーブルの大きさはどれくらいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Rails。Ruby on Railsの移行でデータベースカラムの名前を変更するにはどうすればよいですか?
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み] Paramが無いか、値が空である。ParameterMissing in ResultsController#update
-
[解決済み] Oauth2 Instagram API "リダイレクトURIが登録されたリダイレクトURIと一致しない"
-
[解決済み] Railsコントローラからホスト名を取得する
-
[解決済み] bundle install --without production は何をするのですか?
-
[解決済み] 属性を割り当てる場合、引数としてハッシュを渡す必要がある
-
[解決済み] レイル 4 radio_button_tag default not selected
-
[解決済み] Railsでグループとカウント