如何正确地将值数组传递给`attr_accessible`方法?

use*_*882 3 ruby arrays ruby-on-rails attr-accessible ruby-on-rails-3

我正在使用Ruby on Rails v3.2.2并且我想处理一个符号数组,以便将其值传递给attr_accessible方法以及它应该被创建.也就是说,我有:

attr_array = [:one, :two, ...]
Run Code Online (Sandbox Code Playgroud)

如果我使用:

attr_accessible attr_array
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

self.accessible_attributes.inspect
# => #<ActiveModel::MassAssignmentSecurity::WhiteList: {"[:one, :two, ..."]}>
Run Code Online (Sandbox Code Playgroud)

但是,我想得到:

# => #<ActiveModel::MassAssignmentSecurity::WhiteList: {"one", "two", "..."}>
Run Code Online (Sandbox Code Playgroud)

以及应该做的.

我该怎么做?

tho*_*ron 11

像这样 :

attr_accessible *array
Run Code Online (Sandbox Code Playgroud)

  • 它被称为splat (4认同)