रबल मुख्य वस्तु उत्पन्न नहीं कर रहा है लेकिन यह इसे अपने बच्चों के नोड्स के लिए उत्पन्न कर रहा है।

मेरे पास रेल-एंगुलरज प्रोजेक्ट है। मैं जेसन फ़ाइल उत्पन्न करने के लिए आरएबीएल का उपयोग करना चाहता हूं। मैंने आरएबीएल के दस्तावेज पढ़ लिए हैं और एक्शन शो के लिए रबल फाइल बनाई है, जो ठीक से काम नहीं कर रही है, जैसा कि समझाया गया है:

object @ticket => :ticket do
  attributes :id, :name, :subname, :description, :width, :height, :qty, :single, :double, :project_id, :material_id, :equipment_id, :location_id, :created_at, :updated_at
end

child :project do
  attributes :name, :nickname, :project_number
end 

child :job_state do 
  attributes :color, :name 
end

child :location do
  attributes :name
end

child :local_equipment do
  attributes :name
end

child :local_material do
  attributes :name
end

IF I ऑब्जेक्ट @ticket पर 'do' और 'end' को हटा दें, यह एरर फेंकता है: 'wrong number of arguments (1 for 0)'.

अगर मैं उन्हें छोड़ देता हूं, तो यह किसी टिकट का फ़ील्ड नाम नहीं दिखाता है। जैसा कि नीचे दिया गया है:

{"ticket":{"project":{"name":"Information Security Conference 2017","nickname":"infosecon17","project_number":1000},"job_state":{"color":"red","name":"printed"},"location":{"name":"Grand prairie graphics"},"local_equipment":null,"local_material":null}}

किसी भी तरह की सहायता को आभार समझेंगे।

0
user3538384 28 पद 2017, 00:14

2 जवाब

सबसे बढ़िया उत्तर

यदि समस्या आपके कोणीय के साथ नहीं है, तो रेल की ओर से, यह वह संरचना है जो मेरे लिए काम करती है। जांचें कि आपकी टिकट#शो फ़ाइल यहां है और इसका नाम है: app\views\ticket\show.json.rabl और इसमें केवल शामिल है

object @ticket
attributes :id, :name, :subname, :description, :width, :height, :qty, :single, :double, :project_id, :material_id, :equipment_id, :location_id, :created_at, :updated_at

बच्चों के लिए आपके पास इस तरह की अलग-अलग फाइलें होंगी: app\views\ticket\projects.json.rabl जिसमें शामिल होंगे

collection @projects
extends "projects/show"

लेकिन यह भी पुष्टि करें कि विशेषताएँ वैसे भी आपकी स्कीमा से मेल खाती हैं।

0
olucube.com 28 पद 2017, 05:09

मुझे लगता है कि आप सही रास्ते पर हैं। मैं एक छोटा सा बदलाव करूंगा। आपको @ticket एट्रिब्यूट को किसी ब्लॉक में लपेटने की ज़रूरत नहीं है। आप बस object @ticket निर्दिष्ट कर सकते हैं और वहां से जा सकते हैं।

object @ticket
attributes :id, :name, :subname, :description, :width, :height, :qty, :single, :double, :project_id, :material_id, :equipment_id, :location_id, :created_at, :updated_at

child :project do
  attributes :name, :nickname, :project_number
end 

child :job_state do 
  attributes :color, :name 
end

child :location do
  attributes :name
end

child :local_equipment do
  attributes :name
end

child :local_material do
  attributes :name
end
0
Derek Hopper 28 पद 2017, 00:31