8

डेवलपर्स! मैं अगले स्थितिआभासी गुण और द्रव्यमान असाइनमेंट

नहीं समझ सकता उदाहरण के लिए मेरे पास है मॉडल

class Pg::City < ActiveRecord::Base 
    belongs_to :country 
    #virtual accessors 
    attr_accessor :population 
    #attr_accessible :city, :isdisabled, :country_id 

end 

मैं इस तरह कोड का उपयोग कर सकते हैं:

c = Pg::City.new({:population=>1000}) 
puts c.population 
1000 

लेकिन अगर मैं फेंक ऊपर attr_accessible कोड चेतावनी uncomment

WARNING: Can't mass-assign protected attributes: population 

मैं मॉडल विशेषताओं के साथ बड़े पैमाने पर assigmnment के लिए वर्चुअल विशेषताओं का उपयोग कैसे कर सकता हूं? धन्यवाद!

+0

आप जोड़' की कोशिश की है? –

+0

ने अभी सी = पीजी :: सिटी.न्यू ({: जनसंख्या => 1000,: शहर => "somename"}) की चेतावनी दी .... चेतावनी – Fivell

+1

क्या आपने 'attr_accessible' पंक्ति पर टिप्पणी के साथ कोशिश की? चेतावनी के बिना –

उत्तर

21

एक चर जोड़ने के लिए attr_accessor का उपयोग करके इसे स्वचालित रूप से attr_accessible पर नहीं जोड़ा जाता है। आप attr_accessible उपयोग करने जा रहे हैं, तो आप सूची में :population जोड़ने की आवश्यकता होगी: तर्क आप `attr_accessible` को गुजर रहे हैं उससे population`:

attr_accessor :population 
attr_accessible :city, :isdisabled, :country_id, :population 
संबंधित मुद्दे