我在使用與mongoid軌道新,我有在存儲領域的一些一個數組中軌自動字符串化與mongoid
這裏的數組的問題是在我的模型,以澄清一切
代碼:
def create
@something = Something.new(something_params)
@something[:some_field] = params[:something][:some_field].split(',')
if @something.save
redirect_to @something, notice: "whatever"
else
render "new"
end
end
在我看來
:
class Something
include Mongoid::Document
field :some_field, type: Array
end
在我的控制器
<%= form_for @something do |f| %>
<div class="field">
<%= f.label :some_field %><br>
<%= f.text_area :some_field %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
當我使用它的方式,我得到的錯誤消息: 「問題:String類型的值不能被寫入型陣列摘要的字段:試過String類型的值設置爲的場型陣列解決方案:驗證如果要被設置的值對應於字段定義」
但是當我更改字段類型爲字符串,它成功添加但有字符串化陣列
我嘗試這樣做:
render :text => @something[:some_field] #outputs : ["field1", "field2", "field3"]
但
render :text => @something[:some_field].inspect #outputs : "[\"field1\", \"field2\", \"field3\"]"
我應該怎麼做來存儲值作爲一個數組?
感謝
難道是抱怨的Something.new(something_params)嗎?據推測':some_field'是'something_params'中的一個字符串,對吧? –
是的,你是對的! ..但是,我什麼時候可以拆分':some_field',以便它可以存儲爲數組? –
我認爲你必須使用update_attributes – archie