Ruby on rails 3 如何检查Rails应用程序可以访问哪些属性?
我正在做一些元编程,在其中我向模型添加了可访问的属性,并想知道如何检查和查看这些属性是否可访问 查看了文档,但找不到任何参考资料 我知道我可以做一些类似于Ruby on rails 3 如何检查Rails应用程序可以访问哪些属性?,ruby-on-rails-3,Ruby On Rails 3,我正在做一些元编程,在其中我向模型添加了可访问的属性,并想知道如何检查和查看这些属性是否可访问 查看了文档,但找不到任何参考资料 我知道我可以做一些类似于object.instance\u方法的事情,但这十几种方法并不能真正过滤到可访问的 是否有一些方法可以返回可访问的属性?假设您有一个具有以下属性的用户模型::id,:lastname,:firstname,:email 您的模型类是: class User < ActiveRecord::Base attr_accessible
object.instance\u方法的事情,但这十几种方法并不能真正过滤到可访问的
是否有一些方法可以返回可访问的属性?假设您有一个具有以下属性的用户模型::id,:lastname,:firstname,:email
您的模型类是:
class User < ActiveRecord::Base
attr_accessible :lastname, :firstname
end
此外,您还可以拥有无可访问属性的列表:
User.new.attributes.keys - User.attr_accessible[:default].to_
=> [:id, :email]
我希望此帮助使用可访问的属性和受保护的属性
class User < ActiveRecord::Base
attr_accessible :first_name, :last_name
end
User.accessible_attributes
# => #<ActiveModel::MassAssignmentSecurity::WhiteList: {"", "first_name", "last_name"}>
User.protected_attributes
# => #<ActiveModel::MassAssignmentSecurity::BlackList: {"id", "type"}>
class用户 #
User.protected\u属性
# => #
如果在您的类中调用attr\u protected
而不是attr\u accessible
,则除黑名单中的属性外,您的所有属性都将可访问
class User < ActiveRecord::Base
attr_accessible :first_name, :last_name
end
User.accessible_attributes
# => #<ActiveModel::MassAssignmentSecurity::WhiteList: {"", "first_name", "last_name"}>
User.protected_attributes
# => #<ActiveModel::MassAssignmentSecurity::BlackList: {"id", "type"}>