Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 在rails 3中以数组形式获取multiselect标记值_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 3 在rails 3中以数组形式获取multiselect标记值

Ruby on rails 3 在rails 3中以数组形式获取multiselect标记值,ruby-on-rails-3,Ruby On Rails 3,我使用了multiselect标记 在我使用的create方法中 category= @admin.category.reject! { |c| c.empty? }.to_s 将我的select tag(selected)值作为数组保存到数据库中 但在更新方法中,同样的事情是无法实现的。 我得到的原始格式是 --- - '' - Adventure Tours - Cruises - Exploration 我想把它改成一个数组,就像 ["Adventure Tours","Cruise

我使用了multiselect标记

在我使用的create方法中

category= @admin.category.reject! { |c| c.empty? }.to_s
将我的select tag(selected)值作为数组保存到数据库中

但在更新方法中,同样的事情是无法实现的。 我得到的原始格式是

--- - '' - Adventure Tours - Cruises - Exploration 
我想把它改成一个数组,就像

["Adventure Tours","Cruises","Exploration"]

您可以使用ActiveRecord提供的“serialize”方法将值作为数组存储到数据库中

存储这些值数组的列的类型应为文本

Ex:(假设您想在categories表中保存类别代码)

从数据库中取出后,比如

Category.find(some_id).codes
您将获得给定类别记录的代码数组

["abc", "xyz", "pqr"]
您可以参考此文档(搜索标题:在文本列中保存数组、哈希和其他不可映射的对象)

Category.find(some_id).codes
["abc", "xyz", "pqr"]