为什么accessible_attributes有一个空字符串?

时间:2013-04-27 21:44:51

标签: ruby-on-rails activerecord

我只是想了解Rails的一部分,特别是在accessible_attributes

附近

见下面的例子:

irb(main):001:0> Ec2TypeSpecification.accessible_attributes
=> #<ActiveModel::MassAssignmentSecurity::WhiteList: {"", "api_name", "api_size", "api_type", "cores", "core_type", "compute_units", "ebs_optimization", "ephemeral_drives", "io_performance", "max_ips", "memory", "name", "support_32_bit", "support_64_bit", "total_ephemeral_storage"}>

为什么空字符串?它有什么作用? 或者,我的模型有什么问题吗?

gem 'rails', '3.2.13'

编辑:添加模型

这就是整个模型(我的项目不是很远)

class Ec2TypeSpecification < ActiveRecord::Base
  attr_accessible :api_name, :api_size, :api_type, :cores, :core_type, :compute_units, :ebs_optimization, 
    :ephemeral_drives, :io_performance, :max_ips, :memory, :name, :support_32_bit, :support_64_bit, 
    :total_ephemeral_storage 
end

1 个答案:

答案 0 :(得分:3)

它代表默认值:

attr_accessible nil 

空白白名单是一个开阔的白名单,因此默认情况下,您只需要指定要作为attr_accessible批量指定的其他参数。它不是空白的白名单,而是包含nil的白名单。

# nil.to_s  = ""