したがって、シリアル化された整数属性を含む次のモデルがあります
レーキファイル:
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>
結果のパラメーターは次の形式になります。 :00-07:00", "endTime"=>"2013-07-31T00:00-07:00", "companyID"=>["1864"]}, "commit"=>"Create"}
そして最後に、作成コントローラーは次のことを行います。
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]
しかし、インデックスに同じ表示が得られます。
何か助けはありますか?