Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 如何在两个表之间使用验证?新浪博客采集简单实例_Ruby On Rails_Ruby_Ruby On Rails 6 - Fatal编程技术网

Ruby on rails 如何在两个表之间使用验证?新浪博客采集简单实例

Ruby on rails 如何在两个表之间使用验证?新浪博客采集简单实例,ruby-on-rails,ruby,ruby-on-rails-6,Ruby On Rails,Ruby,Ruby On Rails 6,我有一个表项目和一个表promsitems有一列prom和prom有一列promname,我想在我的item模型中验证'prom.是否存在(:promanme=>:prom),然后创建,否则我还没有存储该prom class Item < ApplicationRecord validates :prom_exist? def prom_exist? if Prom.exists?(:promane => :prom) else end end 类项

我有一个表
项目
和一个表
proms
items
有一列
prom
prom
有一列
promname
,我想在我的
item
模型中验证'prom.是否存在(:promanme=>:prom),然后创建,否则我还没有存储该prom

class Item < ApplicationRecord
  validates :prom_exist?
def prom_exist?
      if Prom.exists?(:promane => :prom)
      else
  end
end
类项:Prom)
其他的
结束
结束

您应该能够执行以下操作:

class Item < ApplicationRecord
  validate :prom_exists

  def prom_exists
    errors.add(:prom, 'does not exist') if prom && !Prom.exists?(promnane: prom)
  end
end
class Item < ApplicationRecord
  belongs_to :prom
end