モデルがプロジェクトに既に存在するかどうかを確認する方法を知りたいですか?Ruby on Rails:モデルが存在するかどうかを確認する方法
ユーザーが同じモデル名を使用してプログラムで作成しようとすると、既に存在するかどうかを確認する必要がありますか?
モデルがプロジェクトに既に存在するかどうかを確認する方法を知りたいですか?Ruby on Rails:モデルが存在するかどうかを確認する方法
ユーザーが同じモデル名を使用してプログラムで作成しようとすると、既に存在するかどうかを確認する必要がありますか?
defined? ModelName
は、モデルが定義されている場合は「定数」を返します。
defined?
が問題です(@Jiggneshh Gohelのコメントを参照)。おそらくmodels
ディレクトリにあるファイル名を確認できます。
files = Dir[Rails.root + 'app/models/*.rb']
models = files.map{ |m| File.basename(m, '.rb').camelize }
models.include? "User" => true
'defined? 'は一貫した結果を返さないようです。 (ユーザー) => "定数" 2.2.1 001>が定義さ:002>が定義された? ' $レールC ローディング開発環境(Railsの4.2.0) 2.2.1:以下のコードを確認してください? (AuthenticationToken) => nilを 2.2.1:003> AuthenticationToken => AuthenticationToken 2.2.1(接続を確立するために 'AuthenticationToken.connection' と呼びます): => "定数" 004>に定義(AuthenticationToken) を? 2.2.1:005> ' –
同意^一部の定数は参照後に読み込まれるように見えますか? – Pandem1c