2013-03-04 63 views
0

我使用了多選選擇標記。獲取multiselect選擇標記值作爲rails中的數組3

在創建方法I中使用,

category= @admin.category.reject! { |c| c.empty? }.to_s 

保存我的選擇標記(選擇)的值作爲數組數據庫。

但是在更新方法中同樣的事情沒有得到實現。 原始格式什麼,我得到的是,

--- - '' - Adventure Tours - Cruises - Exploration 

我想改變它像

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

回答

0

您可以使用ActiveRecord的提供「序列化」的方法,以值數組存儲到數據庫中的數組。

在你存儲的類型列的這些數組值應該是文本

例:(說,如果你想保存在類表類的代碼)

# 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(搜索標題:保存數組,哈希,並在文本列其他非可映射對象)

+0

Thanks.It樂於助人 – Inaccessible 2013-03-06 06:14:34