2014-03-14 88 views
-2
attr_accessor :password, :password_confirmation and 
attr_accessible :password, :password_confirmation 

誰能告訴我什麼區別差異與attr_accessible

+0

檢查這 - http://stackoverflow.com/questions/3136420/difference-between-attr-accessor-and-attr-accessible –

回答

0

attr_accessor是Ruby的方法。它設置了getter和setter。但是,attr_accessible是一種rails方法,可以在批量分配中傳遞值。

對於示例 -

attr_accessor :password, :password_confirmation 
u = User.new({ :password => 'XXX', :password_confirmation => 'XXX' }) 
--- 
u.password => nil 
u.password_confirmation => nil 

但是,你將能夠在這種情況下,用戶的getter和setter值。

attr_accessor :password, :password_confirmation 
u.password = 'XXX' 
--- 
u.password => 'XXX' 

在另一方面爲attr_accessible -

attr_accessible :password, :password_confirmation 
User.new({ :password => 'XXX', :password_confirmation => 'XXX' }) 
--- 
u.password => 'XXX' 
u.password_confirmation => 'XXX' 
0

attr-accessor創建gettersetter方法指定的屬性

method.attribute器(getter)

method.attribute =(設定部)

attr_accessible來自ActiveRecord::Base和「指定可通過質量分配設置的模型屬性的白名單」。