Ruby on rails 如何显示相关表中的说明字段(2)

Ruby on rails 如何显示相关表中的说明字段(2),ruby-on-rails,activerecord,Ruby On Rails,Activerecord,刚开始玩Ruby(没有IT背景),并根据前面的问题/答案()重新启动了项目。我现在有以下情况: 创建了一个currencymaster表,其中包含以下列id:integer、description:string和isocode:string,其中id列由Ruby创建 创建了一个currencyrates表,其中包含以下列id:integer、primary:integer和converted:integer和rate:decimal,其中id列由Ruby创建 基于此,我创建了以下模型。 mode

刚开始玩Ruby(没有IT背景),并根据前面的问题/答案()重新启动了项目。我现在有以下情况:

创建了一个currencymaster表,其中包含以下列
id:integer
description:string
isocode:string
,其中id列由Ruby创建

创建了一个currencyrates表,其中包含以下列
id:integer
primary:integer
converted:integer
rate:decimal
,其中id列由Ruby创建

基于此,我创建了以下模型。 models/currencymaster.rb如下所示:

class Currencymaster < ActiveRecord::Base
  has_many :currency_rates_dominant, :validate => true, :class_name => 'Currencyrate' 
  has_many :currency_rates_converted, :validate => true, :class_name => 'Currencyrate' 
end
class Currencyrate < ActiveRecord::Base
  belongs_to :currency_master_doms, :class_name => 'Currencymaster' 
  belongs_to :currency_master_convs, :class_name => 'Currencymaster' 
end
class Currencymastertrue,:class\u name=>Currencyrate'
是否已转换多个:货币汇率,:validate=>true,:class\u name=>Currencyrate'
结束
models/currencyrate.rb如下所示:

class Currencymaster < ActiveRecord::Base
  has_many :currency_rates_dominant, :validate => true, :class_name => 'Currencyrate' 
  has_many :currency_rates_converted, :validate => true, :class_name => 'Currencyrate' 
end
class Currencyrate < ActiveRecord::Base
  belongs_to :currency_master_doms, :class_name => 'Currencymaster' 
  belongs_to :currency_master_convs, :class_name => 'Currencymaster' 
end
class Currencyrate“Currencymaster”
属于\u to:currency\u master\u convs,:class\u name=>“Currencymaster”
结束
我还没有在两个控制器中更改任何内容

views\currencyrates\index.html.erb是通过Ruby自动生成的,它将记录的值显示为整数。目标是显示
currencymaster
表中
currencymaster.iso
值,用于
currencyrate.dominate
currencyrate.converted


非常感谢

我认为你应该这样改变你的课程:

class Currencyrate < ActiveRecord::Base
  belongs_to :currency_master_dom, :class_name => 'Currencymaster', :foreign_key => 'dominant' 
  belongs_to :currency_master_conv, :class_name => 'Currencymaster' , :foreign_key => 'converted'
end

并非所有的公约都得到尊重。您应该使用
主id
转换id
作为键,使用
CurrencyRate
CurrencyMaster
作为类名,并且您不应该使用“s”您使用的
所属的

@Dougui:再次感谢,我会尝试一下,然后发布代码,以检查您是否需要(请)。类名是ruby在
generate scaffold
语句中创建的,以后我可以更改它们吗?可以。您还可以重新创建代码,并且在生成脚手架时,可以像这样添加大写字母:
rails generate scaffold CurrencyRate…
。请参阅指南:。现在我更改了表
currencyrate
,其中包含以下列:
id:integer
主id:integer
converted\id:integer
rate:decimal
。模型currencyrate如下:
class currencyrate'CurrencyMaster',:foreign\u key=>'magnific\u id'属于:currency\u master\u conv,:class\u name=>'CurrencyMaster',:foreign\u key=>'converted\u id'end
和这样的模型CurrencyMaster:
类CurrencyMastertrue,:class\u name=>“CurrencyRate”有很多:货币汇率已转换,:validate=>true,:class\u name=>“CurrencyRate”end
这样可以吗?