attr_accessor :password, :password_confirmation and
attr_accessible :password, :password_confirmation
谁能告诉我这是什么意思
答案 0 :(得分: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'
答案 1 :(得分:0)
attr-accessor
为指定的属性创建getter
和setter
方法
method.attribute
(getter)
method.attribute
=(setter)
attr_accessible
来自ActiveRecord::Base
和"指定可通过批量分配设置的模型属性的白名单。"