I'm trying to add a column called share to one of my resources. The idea is that users can upload documents and share them with other (specific) users, and the array contains the emails of those that the user wants to share with.
I tried adding a migration with the code
class AddShareToDocuments < ActiveRecord::Migration def change add_column :documents, :share, :array, :default => [] end end
But when I open up rails console in the command prompt, it says that share:nil and user.document.share.class is NilClass.
Creating a new array in the rails console sandbox by typing
newarray = []
says that newarray.class is Array.
Can anyone spot what I'm doing wrong?
if you want support all databases you must serialize the array in a String
class Documents < ActiveRecord::Base serialize :share end class AddShareToDocuments < ActiveRecord::Migration def change add_column :documents, :share, :string, :default => [] end end
In case of Postgresql and array datatype I found https://coderwall.com/p/sud9ja
Rails 4 the PostgreSQL Array data type
In terminal
$ rails generate migration AddTagsToProduct tags:string
Migration file:
class AddTagsToProduct < ActiveRecord::Migration def change add_column :products, :tags, :string, array: true, default: [] end end
https://coderwall.com/p/sud9ja/rails-4-the-postgresql-array-data-type
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With