0

我的组织模型中有一个部门字段,我想将部门列表存储为数组。我的模型中有这个:

class Org < ActiveRecord::Base
   serialize :department, Array
   attr_accessible :name, :department
   before_validation :update_department
   validates :name, presence: true
   def update_department
    if department_changed? and department.is_a?(String)
     self.department = self.department.split(',').collect(&:strip) 
    end
  end
end

和观点:

<%= f.text_area :department, :cols => "10", :rows => "10" %>

现在每当我尝试注册时,部门字段都会出现[],当我尝试更新时,部门已经是[“[department1”,“department2]”]。

我希望在注册时删除 [],并在更新时显示部门 1、部门 2。此外,数组保存不正确,它应该是 ["department1", "department2"]。

请帮忙。

4

1 回答 1

1

你应该用逗号加入数组

object.join(',')

在你的例子中:

<%= f.text_area :department,value: @org.department.join(','), :cols => "10", :rows => "10" %>
于 2014-03-24T12:43:17.223 回答