2014-03-14 42 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和“指定可通过质量分配设置的模型属性的白名单”。