mirror of
				https://github.com/scinote-eln/scinote-web.git
				synced 2025-11-04 21:09:13 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			20 lines
		
	
	
	
		
			521 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			521 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
class AssetTextDatum < ApplicationRecord
 | 
						|
  include SearchableModel
 | 
						|
 | 
						|
  validates :data, presence: true
 | 
						|
  validates :asset, presence: true, uniqueness: true
 | 
						|
  belongs_to :asset, inverse_of: :asset_text_datum
 | 
						|
 | 
						|
  after_save :update_ts_index
 | 
						|
 | 
						|
  def update_ts_index
 | 
						|
    if saved_change_to_data?
 | 
						|
      sql = "UPDATE asset_text_data " +
 | 
						|
            "SET data_vector = to_tsvector(data) " +
 | 
						|
            "WHERE id = " + Integer(id).to_s
 | 
						|
      AssetTextDatum.connection.execute(sql)
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |