Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 模型上的Rails序列列_Ruby On Rails_Ruby_Model_Sequence - Fatal编程技术网

Ruby on rails 模型上的Rails序列列

Ruby on rails 模型上的Rails序列列,ruby-on-rails,ruby,model,sequence,Ruby On Rails,Ruby,Model,Sequence,我遵循这一点,在我的表(cars)中有一列(CARU代码)像序列一样工作(使用postgreSQL数据库) 因此,我有以下表格: CREATE TABLE Cars ( id serial NOT NULL, created_at timestamp without time zone NOT NULL, updated_at timestamp without time zone NOT NULL, car_date timestamp without time zone, car_

我遵循这一点,在我的表(cars)中有一列(CARU代码)像序列一样工作(使用postgreSQL数据库)

因此,我有以下表格:

CREATE TABLE Cars
(
 id serial NOT NULL,
 created_at timestamp without time zone NOT NULL,
 updated_at timestamp without time zone NOT NULL,
 car_date timestamp without time zone,
 car_code integer DEFAULT nextval('car_code_sequence'::regclass),
 CONSTRAINT cars_pkey PRIMARY KEY (id )
 )
我的insert语句工作正常:

INSERT INTO cars(created_at, updated_at, car_date) VALUES (now(), now(), now());
--1|Date|Date|Date|2 <--using my car_code_sequence
所以,我的问题是:


我可以更改谁的车型以从insert语句中排除“Car\U code”列(但将“Car\U code”保留在数据库中),即具有与“id”相同的行为)。请尝试在车型中添加此代码:

class Car < ActiveRecord::Base
  ## --------------------- Ignore columns patch ------
  @@ignore_column_pattern = /^car_code/

  class << self
    alias :all_columns :columns
    def columns 
      @columns_filt ||= all_columns.reject { |col| col.name =~ @@ignore_column_pattern } 
    end 
  end

  alias :all_attribute_names :attribute_names
  def attribute_names
    @attr_names_filt ||= all_attribute_names.reject { |att| att =~ @@ignore_column_pattern }
  end
  ## ------------------- / Ignore columns patch ------
end
class-Carclass Car < ActiveRecord::Base
  ## --------------------- Ignore columns patch ------
  @@ignore_column_pattern = /^car_code/

  class << self
    alias :all_columns :columns
    def columns 
      @columns_filt ||= all_columns.reject { |col| col.name =~ @@ignore_column_pattern } 
    end 
  end

  alias :all_attribute_names :attribute_names
  def attribute_names
    @attr_names_filt ||= all_attribute_names.reject { |att| att =~ @@ignore_column_pattern }
  end
  ## ------------------- / Ignore columns patch ------
end