0

複数選択選択タグを使用しました。

私が使用したcreateメソッドでは、

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

選択したタグ(選択した)値を配列としてデータベースに保存します。

しかし、updateメソッドでは、同じことは達成されません。私が得ている元のフォーマットは、

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

次のような配列として変更したい

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

1 に答える 1

0

ActiveRecordが提供する「serialize」メソッドを使用して、値を配列としてデータベースに格納できます。

これらの値の配列を格納する列のタイプはテキストである必要があります

例:(カテゴリテーブルにカテゴリのコードを保存したい場合は言う)

# 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(見出しの検索:配列、ハッシュ、およびその他のマップ不可能なオブジェクトをテキスト列に保存する)

于 2013-03-04T13:25:15.277 に答える