Скажем, у меня есть класс Foo
. Один из столбцов Foo's
называется bars
. Я хочу, чтобы bars
разделил его содержимое text
на ,
, создав массив. Таким образом, "this, to, array"
- ["this","to" ,"array"]
. По какой-то причине после создания нового экземпляра Foo
Foo.last.bars
по-прежнему возвращает bars
как String
. У меня есть чувство моего метода bars_to_array
.Сохранить объект ActiveRecord как массив - Rails 4
у меня есть:
Foo Класс:
class Filter < ActiveRecord::Base
...
def bars_to_array
bars.split(',')
save
end
...
end
Foo в Migraiton:
class CreateFoos < ActiveRecord::Migration
def change
create_table :foos do |t|
...
t.text :bars
...
end
end
end
FOOS # создать:
def create
...
@foo = Foo.new
@foo.bars_to_array
...
end
EDIT 1:
Я знаю serialize
. Я хочу разбить после того, как исходные данные будут сохранены в bars
.
Вы действительно хотите сохранить данные в виде массива или просто разбить его после прочтения его из столбца? – nPn
@nPn Спасибо за это. Я забыл упомянуть, что я знаю метод 'seriazlie', но я хочу разбить текст на' array' после сохранения объекта. –
, то просто переместите сохранение __before__ bars.split (',') – nPn