刚开始玩Ruby(没有IT背景),直到现在还很顺利。但是,因为两天我被困住了,不明白出了什么问题......非常感谢帮助我解决这个问题!!情况如下所述:
我创建了一个 currencymaster 表,其中包含以下列:currmasdesc:string
,currmasiso:string
。
我创建了一个 currencyrate 表,其中包含以下列:currratemasteridd:integer
,currratemasteridc:integer
,currraterate:decimal
,currratedate:date
。因此,currratemasteridd
列反映了主导货币,而currratemasteridc
反映了转换货币以生成组合货币对。
models / currencymaster.rb如下所示:
class Currencymaster < ActiveRecord::Base
has_many :CurrencyRateDom, :class_name => "Currencyrate", :foreign_key => "CurrRateMasterIDD"
has_many :CurrencyRateConv, :class_name => "Currencrate", :foreign_key => "CurrRateMasterIDC"
end
models / currencyrate.rb如下所示:
class Currencyrate < ActiveRecord::Base
belongs_to :CurrencyDominant, :class_name => 'Currencymaster' , :foreign_key => "CurrRateMasterIDD", :validate => true
belongs_to :CurrencyConverted, :class_name => 'Currencymaster' , :foreign_key => "CurrRateMasterIDC", :validate => true
end
controllers / currencyrates_controller.rb如下所示:
class CurrencyratesController < ApplicationController
# GET /currencyrates
# GET /currencyrates.json
def index
@currencyrates = Currencyrate.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @currencyrates }
end
end
# GET /currencyrates/1
# GET /currencyrates/1.json
def show
@currencyrate = Currencyrate.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @currencyrate }
end
end
end
现在我的问题是我无法在视图/ currencyrates / index.html.erb中显示相关的currencymaster.currmasiso
而不是currratemasteridd
&amp;存储在表currencyrate中的currratemasteridc
。
我希望所有信息都可以在这个问题中找到,否则请在需要其他信息时告诉我。再次感谢!
答案 0 :(得分:0)
为什么你不遵守惯例?
您应该创建一个CurrencyMaster
类,不要在列的名称中重复“currmas”或“currrate”。不要覆盖外键......你的代码应该是这样的:
class CurrencyMaster < ActiveRecord::Base
has_many :currency_rate_doms
has_many :currency_rate_convs
end
你的其他课程也一样。 Rails使用“约定优于配置原则。之后会更好。
欢迎来到精彩的ruby / rails世界。