4

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
4

1 に答える 1

3

これはデフォルトを表します:

attr_accessible nil 

空白のホワイトリストは広く開かれたホワイトリストであるため、このデフォルトでは、一括割り当てする他のパラメーターを attr_accessible として指定するだけで済みます。空白のホワイトリストではなく、nil を含むホワイトリストです。

# nil.to_s  = ""
于 2013-04-27T21:53:05.013 に答える