Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 如何检查Rails应用程序可以访问哪些属性?_Ruby On Rails 3 - Fatal编程技术网

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"}>