8

programistów! Nie mogę zrozumieć kolejną sytuacjęWirtualne atrybuty i przypisanie masy

Na przykład mam modelu

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

end 

mogę użyć kodu:

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

Ale gdybym odkomentowaniu kod attr_accessible powyżej rzut ostrzeżenie

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

Jak używać atrybutów wirtualnych do przydziału masy wraz z atrybutami modelu? Dzięki!

+0

Czy próbowałeś dodanie ': Populacji do argumentów jesteś przechodzących na' attr_accessible'? –

+0

właśnie wypróbowane c = Pg :: City.new ({: populacja => 1000,: city => "somename"}) .... ostrzeżenie – Fivell

+1

Czy próbowałeś tego z komentarzem linii 'attr_accessible'? –

Odpowiedz

21

Aby dodać zmienną, nie dodaje jej automatycznie do attr_accessible. Jeśli masz zamiar użyć attr_accessible, następnie trzeba będzie dodać :population do listy:

attr_accessor :population 
attr_accessible :city, :isdisabled, :country_id, :population 
Powiązane problemy