我使用了多选选择标记。
在我使用的创建方法中,
category= @admin.category.reject! { |c| c.empty? }.to_s
将我的选择标记(选中)值作为数组保存到数据库中。
但是在更新方法中同样的事情并没有得到实现。 原始格式我得到的是,
--- - '' - Adventure Tours - Cruises - Exploration
我想将其更改为像
这样的数组["Adventure Tours","Cruises","Exploration"]
答案 0 :(得分:0)
您可以使用ActiveRecord提供的'serialize'方法将值作为数组存储到数据库中。
存储这些值数组的列的类型应为text
例如:(假设您要在类别表中保存类别代码)
# In the migration file
add_column :categories, :codes, :text
# In the model
class Category < ActiveRecord::Base
serialize :codes
end
它将作为
保存在数据库中---
- abc
- xyz
- pqr
并从数据库中获取后,如
Category.find(some_id).codes
您将获得该给定类别记录的一系列代码。
["abc", "xyz", "pqr"]
您可以参考此文档http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-serialize(搜索标题:在文本列中保存数组,散列和其他不可映射的对象)