0

剛剛開始使用Ruby(沒有IT背景),直到現在都非常好。但是因爲兩天,我被卡住了,不明白髮生了什麼問題......非常感謝您幫助我解決這個問題!情況如下所述:如何顯示來自相關表格的描述字段

我創建了一個currencymaster表,其中包含以下列:currmasdesc:string,currmasiso:string。 我創建了貨幣率表格,其中包含以下列:currratemasteridd:integer,currratemasteridc:integer,currraterate:decimal,currratedate:date。因此currratemasteridd列反映了主導貨幣,而currratemasteridc反映了轉換貨幣以生成組合貨幣對。

的模型/ 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 

的模型/ 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 

控制器/ 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中,t他相關currencymaster.currmasiso而不是currratemasteridd & currratemasteridc存儲在表貨幣率。

我希望所有的信息在這個問題上都是有效的,否則請在需要其他信息時通知我。再次感謝!

回答

0

爲什麼你不遵循約定?

您應該創建一個CurrencyMaster類,不要在列的名稱中重複「currmas」或「currrate」。不要重寫外鍵......你的代碼應該是這樣的:你的代碼應該是這樣的:

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

它在你的其他類中是一樣的。 Rails的使用「約定優於配置普林西比,這將是以後更好。

歡迎來到奇妙的Ruby/Rails世界。

+0

感謝@Dougui您的快速回復。我之所以沒有按照約定(如我看現在)是,我沒有很好地理解他們我認爲...也許我可以更好地重新啓動項目... – jmk 2012-07-24 13:22:06

+0

這是一個在互聯網上很多很好的教程,看看這個:http://www.codeschool。 com/courses/rails-for-zombies。(你能否提出並批准我的答案?) – Dougui 2012-07-24 13:28:13

+0

好吧我已經重新啓動了建議的模型約定和數據庫列的項目,但仍然想知道如何在currencyrate的視圖中顯示ISO代碼我有什麼要做的,在軌道上的ruby方法,以啓用此功能?再次讚賞! – jmk 2012-07-26 08:32:49