aboutsummaryrefslogtreecommitdiff
path: root/interfaces/ruby/models/post.rb
blob: 28cc82cb1638d53bf3c18ffdf7f261ed15daa043 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Post < ActiveRecord::Base
  belongs_to :user
  has_many :comments
  has_many :tags, through: :post_tag_links
  
  validates_presence_of :slug
  validates_presence_of :title
  validates_presence_of :body
  
  def url
    "#{$config.url}/#{created_at.strftime("%Y/%m/%d")}/#{slug}"
  end
end

class CreatePostTable < ActiveRecord::Migration[6.0]
  def change
    create_table :posts do |t|
      t.references :user, foreign_key: true, null: false
      t.string :slug, null: false, unique: true, index: true
      t.string :title, null: false
      t.string :body, null: false
      t.boolean :locked, default: false
      t.timestamps
    end
  end
end