Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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与PostgreSQL结合使用,通过自定义规则设置自定义序列号_Ruby On Rails_Postgresql - Fatal编程技术网

Ruby on rails 如何将Rails与PostgreSQL结合使用,通过自定义规则设置自定义序列号

Ruby on rails 如何将Rails与PostgreSQL结合使用,通过自定义规则设置自定义序列号,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我想设置自动生成序列号的规则。 我使用PostgreSQL。 有两张桌子;存储和存储记录。 Store=[id,code],Storerecord=[id,Store\u code,no] 今天,我有商店,代码是“A01”。 我想将规则设置为A01+日期+N或A01+随机数 如果我需要这种格式,我应该如何归档这个目标? 谢谢你 您应该在提交回调到您的模型后添加(除非您有特定的理由让序列号生成代码驻留在数据库本身中) 因此,您可以在应用程序/模型/商店中执行类似操作。rb: class Store

我想设置自动生成序列号的规则。 我使用PostgreSQL。 有两张桌子;存储和存储记录。 Store=[id,code],Storerecord=[id,Store\u code,no]

今天,我有商店,代码是“A01”。 我想将规则设置为A01+日期+N或A01+随机数

如果我需要这种格式,我应该如何归档这个目标?
谢谢你

您应该在提交回调到您的模型后添加
(除非您有特定的理由让序列号生成代码驻留在数据库本身中)

因此,您可以在应用程序/模型/商店中执行类似操作。rb

class Store < ActiveRecord::Base
  # Using after_commit, because we want to use ID of the record,
  # and it will be there only after record is saved to DB already
  after_commit :set_serial_number

  # other stuff you have in your model

  private

  def set_serial_number
    self.update_column(serial_number, self.id.to_s + self.code.to_s)
  end
end
类存储
您的第二款车型也有类似的情况:

class Storerecord < ActiveRecord::Base
  belongs_to :store

  after_commit :set_serial_number

  # other stuff you have in your model

  private

  def set_serial_number
    self.update_column(serial_number, self.store.id.to_s + self.no.to_s)
  end
end      
class Storerecord
谢谢您的回答!!!!:)但是,如果我想将数字存储在Storerecord=[no]中,如何捕获store_代码并设置数字?这和你的回答类似吗?@IanCheng欢迎你!:)为您的Storerecord更新了以上我的答案。