मुझे एक ऐसी प्रणाली बनाने की आवश्यकता है जहां एक उपयोगकर्ता कर सकता हैएक उपयोगकर्ता खाते के साथ लॉगिन जहां एक उपयोगकर्ता व्यवस्थापक या संपादक जैसे समूह का सदस्य है। इसके अलावा एक उपयोगकर्ता एक कंपनी का एक सदस्य है। समूहों और कंपनी के दोनों मामलों में उनके कई उपयोगकर्ता हो सकते हैं, लेकिन उपयोगकर्ता केवल एक कंपनी और कई समूहों के सदस्य हो सकते हैं।
मैं जिन संबंधों से बाहर निकल सकता हूं, वह यह है कि एक समूह के कई उपयोगकर्ता हैं, कंपनी के कई उपयोगकर्ता हैं, उपयोगकर्ता के पास एक कंपनी है, उपयोगकर्ता के कई समूह हैं।
लेकिन मेरी समस्या तो मैं कैसे रूबी और mongoMapper के साथ इसे बनाने के लिए? मैंने प्रलेखन और अन्य स्रोतों को देखा है, लेकिन इसका उपयोग या सेट अप करने के तरीके के बारे में अच्छा समाधान या स्पष्टीकरण नहीं मिला है।
अगर किसी के पास करने का बेहतर तरीका है तो वह भी स्वागत करता है।
ये वर्तमान वर्ग हैं जो मैंने लिखे हैं।
class User
include MongoMapper::Document
key :username, String
key :password, String
key :name, String
belongs_to :group
belongs_to :company
end
class Group
include MongoMapper::Document
key :group_id, Integer
key :name, String
key :accesLevel, Integer
many :user
end
class Company
include MongoMapper::Document
key :name, String
many :user
end
उत्तर:
जवाब के लिए 0 № 1कुछ और गूगल सर्च के बाद मुझे इसका हल मिल गया है।
पहले मैंने उपयोगकर्ता वर्ग को इस तरह बनाया:
class User
include MongoMapper::Document
key :username, String
key :password, String
key :name, String
key :companyID
key :groupID
timestamps!
end
तब समूह और कंपनी वर्ग इस तरह:
class Company
include MongoMapper::Document
key :name, String
timestamps!
end
class Group
include MongoMapper::Document
key :name, String
key :accesLevel, Integer
timestamps!
end
इन वर्गों के साथ मेरी जगह बदल गईनियंत्रक पहले एक कंपनी बनाने के लिए और फिर एक समूह ये भी लोड किया जा सकता है, लेकिन परीक्षण में आसानी के लिए ऐसा करने के लिए आवश्यक नहीं था, इसलिए मुझे इसके लिए कोड लिखने की आवश्यकता नहीं थी।
company = Company.new
company.name = "comp"
group = Group.new
group.name = "admin"
user = User.new
user.name = "user1"
user.username = "user1"
user.password = "passuser1"
user.groupID = group.id
user.companyID = company.id
db_config = YAML::load(File.open("./dbconfig.yml"))
MongoMapper.connection = Mongo::Connection.new(db_config["hostname"])
MongoMapper.database = db_config["name"]
company.save
group.save
user.save