एक डेटा आयातक में से नहीं है, मैं कोड है जो एक taggable के लिए ActsAsTaggableOn::Tag
वस्तुओं का एक समूह जोड़ने का प्रयास कर रहा है टैग सूची:रेल "में कार्य करता है के रूप में taggable-ऑन": कैसे टैग को जोड़ने के लिए * वस्तुओं * taggables को, नाम
existing_item = FeedItem.where(url: item[:url]).first
if existing_item.nil?
new_item = FeedItem.new
new_item.attributes = item.except(:id, :feeds)
new_item.feeds = Feed.where(id: feeds_old_to_new(item_feeds, feeds))
new_item.tag_list.add(
ActsAsTaggableOn::Tag.where(id: tags_old_to_new(item[:tags], tags)))
new_item.save!
else
# ... merge imported record with existing item ...
end
यह काम नहीं करता है, क्योंकि tag_list.add
नाम टैग की एक सूची लेता है, वस्तुओं टैग नहीं। टैग ऑब्जेक्ट्स टैग जोड़ने का कोई तरीका है? मुझे दस्तावेज़ों के रूप में कुछ भी नहीं मिल रहा है-दस्तावेज पर, और इसके कोड को समझने के लिए बहुत जादू है (उदाहरण के लिए, Tag::concat
स्वयं को बदलना प्रतीत नहीं होता है!)
मैं मानचित्र को मानचित्रित कर सकता हूं उनके नामों पर टैग, लेकिन फिर कार्य-जैसा-टैग करने योग्य-ऑन नाम कैनोनिकललाइजेशन चलाएगा जो उपयोगकर्ता इनपुट के लिए उपयुक्त है लेकिन थोक डेटा आयात के लिए नहीं है, इसलिए मैं ऐसा नहीं करना चाहता हूं।
मैं कुछ है कि मुझे विश्वास है कि 'FeedItem' वस्तुओं एक' tags' संपत्ति _have_ नहीं है नेतृत्व करने का एक अलग याद है: आपके मामले में ऐसा कुछ होगा। 'FeedItem'] की परिभाषा [https://github.com/berkmancenter/tagteam/blob/master/app/models/feed_item.rb) में कुछ अजीब चीज़ें हैं - विशेष रूप से देखें कि यह': tag_context_hierarchy के साथ क्या कर रहा है '। क्या आप इससे निपटने के लिए अपने उत्तर में क्या बदलाव करने की आवश्यकता हो सकती है, इस बारे में कोई अतिरिक्त सलाह दे सकते हैं? – zwol
इसमें एक सरल ['act_as_taggable' घोषणा] है (https://github.com/berkmancenter/tagteam/blob/master/app/models/feed_item.rb#L24)। मुझे इसे बदलने के लिए 'tag_context_hierarchy' में कुछ भी नहीं दिख रहा है। आप देख सकते हैं कि [यह 'टैग' एसोसिएशन का भी उपयोग करता है] (https://github.com/berkmancenter/tagteam/blob/master/app/models/feed_item.rb#L185-L189)। –
हम्म, ठीक है। यह पर्याप्त जानकारी है कि मैं काम करने के लिए इस _ought_ पर विश्वास कर सकता हूं। मैंने बक्षीस को बुरी तरह से समय दिया; मैं इसे एक और महीने के लिए परीक्षण करने में सक्षम नहीं होगा। मैं आगे बढ़ने जा रहा हूं और आपको बक्षीस दूंगा, लेकिन जब तक मैंने वास्तव में इसका परीक्षण नहीं किया तब तक जवाब स्वीकार नहीं किया जाता। – zwol