所以我有以下模型,其中包含序列化的整数属性
Rake文件:
class CreateCompanyAssetStats < ActiveRecord::Migration
def change
create_table :company_asset_stats do |t|
t.integer :companyID
t.string :geo
t.integer :assetType
t.date :startTime
t.date :endTime
t.timestamps
end
end
end
型号:
serialize :companyID, Array
serialize :assetType, Array
serialize :geo, Array
在我看来,我有一个表格,我有一个多选下拉列表,将值存储到参数中:
<div class="dropdown" data-init="dropdown">
<button >Multi Select</button>
<select name="company_asset_stats[companyID][]" multiple>
<% allFieldValues('company', 'companyname', 'company').each do |value| %>
<option value=<%= value[1] %>><%= value[0] %></option>
<% end %>
</select>
</div>
生成的参数采用以下形式: 参数:{&#34; utf8&#34; =&gt;&#34;✓&#34;,&#34; authenticity_token&#34; =&gt;&#34; 2WFx3 / 3TyHsjobwRaLJYW2jt4JR5ucvtgyBK3IxKTqs =&#34;,&# 34; company_asset_stats&#34; =&gt; {&#34; startTime&#34; =&gt;&#34; 2013-07-31T00:00-07:00&#34;,&#34; endTime&#34; =&gt; ;&#34; 2013-07-31T00:00-07:00&#34;,&#34; companyID&#34; =&gt; [&#34; 1864&#34;]},&#34;提交&#34 ; =&GT;&#34;创建&#34;}
最后我的创建控制器执行以下操作:
def create
@company_asset_stats = CompanyAssetStats.new(params[:company_asset_stats])
if @company_asset_stats.save
redirect_to :action => "index"
else
render 'new'
end
end
当我被重定向到我的模型索引时,我发现companyID总是保存为0,而assetType根本就没有。我也尝试过以下方式手动设置属性:
@company_asset_stats.companyID = [1,2,3]
但是我在索引中得到了相同的显示。
任何帮助?
答案 0 :(得分:2)
您的数据库中似乎有t.integer :companyID
。序列化属性不能进入整数列,而是需要文本列。