我只是想了解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
答案 0 :(得分:3)
它代表默认值:
attr_accessible nil
空白白名单是一个开阔的白名单,因此默认情况下,您只需要指定要作为attr_accessible批量指定的其他参数。它不是空白的白名单,而是包含nil的白名单。
# nil.to_s = ""