本当に奇妙ですが、モデルを追加すると:
serialize :source, Array
デフォルトでは、入力フィールドには、ページをロードするたびに「 [] 」記号が含まれています。
シリアル化を削除すると、消えます。しかし、ビュー自体のコードは変更されていないため、このブラケットを削除する方法がわかりません。
本当に迷惑です、助けてください。
本当に奇妙ですが、モデルを追加すると:
serialize :source, Array
デフォルトでは、入力フィールドには、ページをロードするたびに「 [] 」記号が含まれています。
シリアル化を削除すると、消えます。しかし、ビュー自体のコードは変更されていないため、このブラケットを削除する方法がわかりません。
本当に迷惑です、助けてください。
http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-serializeより
Active Record は、YAML を使用してテキスト列内の任意のオブジェクトをシリアル化できます。これを行うには、クラス メソッド serialize への呼び出しでこれを指定する必要があります。これにより、追加の作業を行うことなく、配列、ハッシュ、およびその他のマップ不可能なオブジェクトを格納できます。
class User < ActiveRecord::Base
serialize :preferences
end
あなたの見解には のようなものがあると思います<%= @my_model.source %>
。
モデルから削除するserialize :source, Array
と、型@my_model.source
は文字列になり、ビューは空の文字列 (何もない) を出力します。
モデルに追加する場合serialize :source, Array
、の型@my_model.source
は配列です。中に文字列に変換された空の配列<%= @my_model.source %>
は、まさにあなたが見るものです: []
.
本当に迷惑です、助けてください。
あなたを助けるために、私はあなたが正確に何をアーカイブしたいのかを知る必要があります.
source
、はずしserialize :source, Array
て幸せになろう配列である必要source
があります。ビューを書き直して、その要素を繰り返し処理する配列を出力します。例えば:
<%- @my_model.source.each do |v| -%>
<li><%= v %></li>
<%- end -%>