test
This README would normally document whatever steps are necessary to get the application up and running.
Things you may want to cover:
-
Ruby version
-
System dependencies
-
Configuration
-
Database creation
-
Database initialization
-
How to run the test suite
-
Services (job queues, cache servers, search engines, etc.)
-
Deployment instructions
-
...
Column | Type | Options |
---|---|---|
name | string | null: false |
password | varchar | null: false |
varchar | ||
image | text |
- has_many :clips
- has_many :likes
- has_many :comments
- has_many :folder_clips, dependent: :destroy
- has_many :folders
- has_many :tag_clips
- has_one :profile
- has_one :count
- has_many :active_relationships, class_name: "Relationship", dependent: :destroy
- has_many :passive_relationships, class_name: "Relationship", dependent: :destroy
- has_many :follows, through: :active_relationship
- has_many :followers, through: :passive_relationships
- validates :name, length: {minimun: 3 maximum: 10}, presence: true
- validates :email, uniqueness: true
- validates :password, length {minimum: 3 maximum: 10}, confirmation: true, presenve: true
Column | Type | Options |
---|---|---|
user_id | references | null: false, foreign_key: true |
image | text | null: false |
likes_count | integer |
- belongs_to :user, counter_cache: :clips_count
- has_many :comments, dependent: :destroy
- has_many :likes, dependent: :destroy
- has_many :folder_clips, dependent: :destroy
- has_many :folders, through: :folder_clip
- has_many :tag_clips, dependent: :destroy
- has_many :main_tag, thorugh: :tag_clip
- has_many :sub_tag, thorugh: :tag_clip
- has_many :itemtag_clips, dependent: :destroy
- has_many :item_tag, thorugh: :itemtag_clip
- validates :image, presence: true
Column | Type | Options |
---|---|---|
user_id | references | null: false, foreign_key: true |
clip | references | null: false, foreign_key: true |
text | text |
- belongs_to :user
- has_many :clips
Column | Type | Options |
---|---|---|
user_id | references | null: false, foreign_key: true |
clip | references | null: false, foreign_key: true |
- belongs_to :user, counter_cache: :likes_count
- belongs_to :clips, counter_cache: :likes_count
Column | Type | Options |
---|---|---|
user_id | references | null: false, foreign_key: true |
name | string | null: false |
- belongs_to :user, counter_cache: :folders_count
- has_many :clips, through: :folder_clip
- has_many :folder_clips
Column | Type | Options |
---|---|---|
folder | references | null: false, foreign_key: true |
clip | references | null: false, foreign_key: true |
- belongs_to :folder
- belongs_to :clip
Column | Type | Options |
---|---|---|
clip | references | null: false, foreign_key: true |
user | references | null: false, foreign_key: true, unique: true |
main_tag | references | null: false, foreign_key: true |
sub_tag | references | null: false, foreign_key: true |
- belongs_to :clip _ belongs_to :user, counter_cache: :tags_count
- belongs_to :main_tag
- belongs_to :sub_tag
Column | Type | Options |
---|---|---|
name | string | null: false, unique: true, index: true |
- has_many :tag_clips, dependent: :destroy
- has_many :clips, through: :tag_clip
Column | Type | Options |
---|---|---|
name | string | null: false, unique: true, index: true |
- has_many :tag_clips, dependent: :destroy
- has_many :clips, through: :tag_clip
Column | Type | Options |
---|---|---|
clip | references | null: false, foreign_key: true |
item_tag | references | null: false, foreign_key: true |
- belongs_to :clip
- belongs_to :item_tag
Column | Type | Options |
---|---|---|
name | string | null: false, unique: true, index: true |
- has_many :itemtag_clips, dependent: :destroy
- has_many :clips, thorugh: :itemtag_clip
Column | Type | Options |
---|---|---|
user_id | references | null: false, foreign_key: true, unique: true |
country | references | foreign_key: true |
religion | references | foreign_key: true |
style | references | foreign_key: true |
job | references | foreign_key: true |
gender | references | foreign_key: true |
year | references | foreign_key: true |
layout | references | foreign_key: true |
area | string | |
website | varchar | |
introduction | text |
- belongs_to :user
Column | Type | Options |
---|---|---|
user_id | references | null: false, foreign_key: true |
clips_count | integer | |
follows_count | integer | |
followers_count | integer | |
likes_count | integer | |
tags_count | integer | |
folders_count | integer |
- belongs_to :user
Column | Type | Options |
---|---|---|
active_relationships | ||
follower_id | references | null: false, foreign_key: true |
passive_relationships | ||
follow_id | references | null: false, foreign_key: true |
- belongs_to :follow, class_name: 'User'
- belongs_to :follower, class_name: 'User'
- validates :follower_id, presence: true
- validates :follow_id, presence: true