如何在表单中显示Rails ActiveRecord模型的序列化数组属性?

Zac*_* Xu 10 forms ruby-on-rails

我们在Rails中使用ActiveRecord的"序列化"功能,如下所示:

class User < ActiveRecord::Base
    serialize :favorite_colors, Array
    ....
end
Run Code Online (Sandbox Code Playgroud)

所以我们可以拥有

u = User.last
u.favorite_colors = [ 'blue', 'red', 'grey' ]
u.save!
Run Code Online (Sandbox Code Playgroud)

因此,基本上ActiveRecord将上面的数组序列化并将其存储在一个名为favorite_colors的数据库字段中.

我的问题是:如何让用户在表单中输入他喜欢的颜色?你使用一系列文本字段吗?一旦他们进入,你如何在表格中显示他们编辑?

这是与序列化数组属性的Rails表单助手相关的问题.

谢谢

awe*_*khh 2

要允许访问 AR 属性,您必须像这样授予它们:

class User < ActiveRecord::Base
  serialize :favorite_colors, Array
  attr_accessible :favorite_colors
  ....
end
Run Code Online (Sandbox Code Playgroud)