mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
0ee96d13de
Currently custom attributes are always qualified by the table name in the generated SQL wrongly even if the table doesn't have the named column, it would cause an invalid SQL error. Custom attributes should only be qualified if the table has the same named column.
32 lines
596 B
Ruby
32 lines
596 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Contract < ActiveRecord::Base
|
|
belongs_to :company
|
|
belongs_to :developer, primary_key: :id
|
|
belongs_to :firm, foreign_key: "company_id"
|
|
|
|
attribute :metadata, :json
|
|
|
|
before_save :hi, :update_metadata
|
|
after_save :bye
|
|
|
|
attr_accessor :hi_count, :bye_count
|
|
|
|
def hi
|
|
@hi_count ||= 0
|
|
@hi_count += 1
|
|
end
|
|
|
|
def bye
|
|
@bye_count ||= 0
|
|
@bye_count += 1
|
|
end
|
|
|
|
def update_metadata
|
|
self.metadata = { company_id: company_id, developer_id: developer_id }
|
|
end
|
|
end
|
|
|
|
class NewContract < Contract
|
|
validates :company_id, presence: true
|
|
end
|