Я хочу добавить поле массива (именованные теги) в моей базе данных sqlite, поэтому я сделал несколько следующих шагов:
# migration
add_column :tags, :string
# controller
def update
tags = params[:tags] # a array from frontend
project.tags = tags.join(',')
project.save!
end
def show
project_hash = project.as_json
project_hash['tags'] = project_hash['tags'].split(',')
render json: project_hash
end
Но я хочу настроить параметры поля и метод получения напрямую в активной модели, как показано ниже:
# model
def tags=(array)
self.real_tags_column = array.join(',')
end
def tag
self.real_tags_column.split(',')
end