やったこと
rails g model University
で以下ファイルを作成
Ruby
1class University 2 include Neo4j::ActiveNode 3end
これに以下を追加
Ruby
1class University 2 include Neo4j::ActiveNode 3 id_property :code 4 property :name, type: String 5 self.mapped_label_name = '大学' 6 has_many :out, :faculties, type: :has, unique: true 7 validates :name, :presence => true 8end 9
また同様にrails g model Faculty -> 中のpropertyなど追加
rake neo4j:migrateでneo4jに作成されてることを確認。
さらにrubyファイルを作成
Ruby
1require "json" 2require './faculty.rb' 3require './university.rb' 4 5File.open(Rails.root + 'app/models/school.json') do |file| 6 hash = JSON.load(file) 7 i = 0 8 while i <= hash.length/2 9 if hash[i]["大学"].present? 10 uni = University.create(name:hash[i]["大学"]) 11 if hash[i+1]["学部"].present? 12 hash[i+1]["学部"].each do |name| 13 fac = Faculty.create(name:name) 14 uni.faculties = hash[i+1]["学部"].map do |name| 15 Faculty.create(name:name) 16 end 17 end 18 end 19 end 20 21 i += 1 22 end 23 end
このファイルを実行すると、
:/Users/cjuza/rails_111/app/app/models/faculty.rb:2:in `<class:Faculty>': uninitialized constant Faculty::Neo4j (NameError)
ここでなぜ**uninitialized constant Faculty::Neo4j (NameError)**となるのか教えていただきたいです。
よろしくお願いします。
あなたの回答
tips
プレビュー