0

Ruby を使い始めたばかりで (IT のバックグラウンドはありません)、今まではうまくいきました。しかし、2日間立ち往生していて、何が悪いのか理解できません...この問題で私を助けてくれてありがとう!! 状況は次のとおりです。

次の列を持つcurrencymasterテーブルを作成しました: currmasdesc:string, currmasiso:string. 次の列を含むcurrencyrateテーブルを作成しました: currratemasteridd:integercurrratemasteridc:integercurrraterate:decimalcurrratedate: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

view/currencyrates/index.html.erb で、表 currencyrate に格納されている&currencymaster.currmasisoの代わりに関連するものを表示できないという問題があります。currratemasteriddcurrratemasteridc

この質問ですべての情報が利用できることを願っています。それ以外の場合は、他の情報が必要な場合はお知らせください。再度、感謝します!

4

1 に答える 1

0

なぜ慣習に従わないのですか?

クラスを作成する必要がありCurrencyMasterます。列の名前に「currmas」または「currrate」を繰り返さないでください。外部キーをオーバーライドしないでください...コードは次のようにする必要があります:

class CurrencyMaster < ActiveRecord::Base
  has_many :currency_rate_doms
  has_many :currency_rate_convs
end

他のクラスでも同じです。Rails は「設定より規約」の原則を使用します。

Ruby/Rails のすばらしい世界へようこそ。

于 2012-07-24T13:07:52.610 に答える