ruby - In Rails model, can we not save an item if the table doesn't exist? -
i have several databases use records model. in model's after_save callback, creating new row in logtable. have like:
class records < activerecord::base after_save :record_to_log def record_to_log new_log = logtable.new new_log.keyword = "keyword" new_log.save end end but not databases have logtable table. getting error says logtable doesn't exist. how prevent error, , there way abort save if table doesn't exist in particular database?
you can check if table exists by
activerecord::base.connection.table_exists? 'log_table' the callback can modified like
after_save :record_to_log, :if => activerecord::base.connection.table_exists?('log_table')
Comments
Post a Comment