Ruby on rails 循环遍历模型中的所有公共属性
我有一个用户模型,其中有些属性是公共的(用户可以编辑),有些属性是私有的(Salt等) 假设模型有N个公共属性(例如电子邮件和姓氏)和M个私有属性(例如Salt、确认令牌) 我想我想做的是Ruby on rails 循环遍历模型中的所有公共属性,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有一个用户模型,其中有些属性是公共的(用户可以编辑),有些属性是私有的(Salt等) 假设模型有N个公共属性(例如电子邮件和姓氏)和M个私有属性(例如Salt、确认令牌) 我想我想做的是 user.attrs.each |name, value| do something(name, value) end 我可以使用attr_访问器吗 使用rails 4.0.2和ruby 2.0.0 有什么想法吗?干杯您可能有更多允许的属性而不是不允许的属性,因此我将创建一个受保护的属性名称数组,
user.attrs.each |name, value| do
something(name, value)
end
我可以使用attr_访问器吗
使用rails 4.0.2和ruby 2.0.0
有什么想法吗?干杯您可能有更多允许的属性而不是不允许的属性,因此我将创建一个受保护的属性名称数组,并在循环属性时忽略这些名称
protected_attributes = %w(password salt confirmation_token)
user.attributes.each do |name, value|
unless protected_attributes.include?(name)
something(name, value)
end
end
也给我们看看你的模型..Ruby对象实际上没有公共属性,只有公共方法。因此,这是一个相当难解决的问题。不过,对于Rails,您可能能够循环浏览与ActiveRecord模型相关联的数据库列……太棒了,这正是我想要的!