attr_accessor :password, :password_confirmation and
attr_accessible :password, :password_confirmation
谁能告诉我有什么不同
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'
attr-accessor
为指定的属性创建getter
和setter
方法
method.attribute
(getter)
method.attribute
= (set)
attr_accessible
来自ActiveRecord::Base
和"指定可以通过质量分配设置的模型属性的白列表。"