8

nhà phát triển! Tôi không thể hiểu tình hình tiếp theoThuộc tính ảo và giao hàng loạt

Ví dụ tôi có mô hình

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

end 

tôi có thể sử dụng mã như thế này:

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

Nhưng nếu tôi bỏ ghi chú đang attr_accessible trên ném cảnh báo

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

Làm cách nào để sử dụng các thuộc tính ảo cho xác nhận hàng loạt cùng với các thuộc tính mô hình? Cảm ơn!

+0

Các bạn đã thử thêm ': population' để các đối số bạn đang đi qua cho' attr_accessible'? –

+0

vừa thử c = Pg :: City.new ({: population => 1000,: city => "somename"}) .... cảnh báo – Fivell

+1

Bạn đã thử với dòng nhận xét 'attr_accessible'? –

Trả lời

21

Sử dụng attr_accessor để thêm biến không tự động thêm biến đó vào attr_accessible. Nếu bạn đang sử dụng attr_accessible, sau đó bạn sẽ cần phải thêm :population vào danh sách:

attr_accessor :population 
attr_accessible :city, :isdisabled, :country_id, :population 
Các vấn đề liên quan