2013-04-27 5 views
4

Я просто пытаюсь понять часть Rails, в частности, вокруг accessible_attributesПочему у access_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'

EDIT: добавить модель

Вот и вся модель (я не очень далеко в моем проекте)

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

Можете ли вы пройти мимо части своей модели? – tibbon

ответ

3

Он представляет собой по умолчанию:

attr_accessible nil 

Пустой белый список - это широко открытый белый список, поэтому этот по умолчанию просто требует от вас укажите другие параметры, которые вы хотите присвоить массе, как attr_accessible. Вместо чистого белого списка это белый список, содержащий ноль.

# nil.to_s = "" 
Смежные вопросы